0
たとえば、Purchase
という2つの列を持つSQL Server 2008 R2のテーブルがあるとします:Purchaser
とExpenditure
です。ロールアップしたグループでソートするにはどうすればよいですか?
のは、テーブルには、次の行を持っているとしましょう:
Purchaser Expenditure
--------- -----------
Alex 200
Alex 300
Alex 500
Bob 300
Bob 400
Charlie 200
Charlie 600
Derek 100
Derek 300
は今、私はこのクエリを持っている:
SELECT Purchaser, Expenditure, SUM(Expenditure) AS SumExpenditure FROM Purchase GROUP BY Purchaser, Expenditure WITH ROLLUP
これには次の値を返します。
Purchaser Expenditure SumExpenditure
--------- ----------- --------------
Alex 200 200
Alex 300 300
Alex 500 500
--------------------------------
Alex NULL 1000
--------------------------------
Bob 300 300
Bob 400 400
--------------------------------
Bob NULL 700
--------------------------------
Charlie 200 200
Charlie 600 600
--------------------------------
Charlie NULL 800
--------------------------------
Derek 100 100
Derek 300 300
--------------------------------
Derek NULL 400
--------------------------------
(ラインロールアップした金額を強調するために追加されました)
私が望むことは、私はこのように設定された結果で終わるようにグループ化された金額でグループを並べ替えることができるように、次のようになります。つまり
Purchaser Expenditure SumExpenditure
--------- ----------- --------------
Derek 100 100
Derek 300 300
--------------------------------
Derek NULL 400
--------------------------------
Bob 300 300
Bob 400 400
--------------------------------
Bob NULL 700
--------------------------------
Charlie 200 200
Charlie 600 600
--------------------------------
Charlie NULL 800
--------------------------------
Alex 200 200
Alex 300 300
Alex 500 500
--------------------------------
Alex NULL 1000
--------------------------------
、私は、グループの並べ替え使用していますグループ行の400
,700
,800
および1000
を昇順に並べ替えます。
誰でもどのようなクエリがこの結果セットを返すかを提案できますか?