sql >> データベース >  >> RDS >> Sqlserver

TSQL グループ化時に最小行と最大行を選択

    ウィンドウ関数 を使用してすぐに実行できます :

    <プレ>; with ordering as ( SELECT max([Range]) AS 'Range' , count(ID) AS 'Count' , round(avg([Profit]), 2) AS 'AVG Profit' , row_number() over (order by avg([Profit])) rn_min , row_number() over (order by avg([Profit]) desc) rn_max FROM Orders GROUP BY Range_begining HAVING COUNT(ID) > 10 ) select [range], [count], [avg profit], case when rn_max = 1 then 'Max profit' else 'Min profit' end Description from ordering where (rn_max = 1 or rn_min = 1)

    Sql Fiddle の例 .



    1. mysqlテーブル列が存在するかどうかを確認するにはどうすればよいですか?

    2. SQLテーブルデータをテキストテーブルとしてフォーマットする

    3. Oracle SQL*Plusの使用方法

    4. 複数の行を挿入する方法 - ループが必要ですか?