0
このクエリを取得中...SQLグループ化アカウンティング番号と小計と総計
SELECT ACTNO,SUM(PLAN) AS 'TOTAL PLAN', SUM(FORECAST) AS 'TOTAL FORECAST'
FROM COST_CENTER
GROUP BY ACTNO
私は次のような結果を得る:
ACTNO | TOTAL PLAN | TOTAL FORECAST
100 | 12000 | 20000
101 | 12000 | 20000
200 | 1000 | 1500
201 | 1200 | 2000
202 | 900 | 1500
203 | 700 | 1500
220 | 1500 | 3500
300 | 1200 | 2000
301 | 1000 | 3000
私が一緒のグループに特定のアカウントが必要になり、それらのグループを取得します次に、すべての小計を合計して合計します。
望ましい結果は次のようなものになるだろう:
ACTNO | TOTAL PLAN | TOTAL FORECAST
100 | 12000 | 20000
101 | 12000 | 20000
24000 40000
200 | 1000 | 1500
201 | 1200 | 2000
202 | 900 | 1500
203 | 700 | 1500
3800 6500
220 | 1500 | 3500
300 | 1200 | 2000
301 | 1000 | 3000
3700 8500
Total 31500 55000
これは私がやや近づいた、ではなく、かなりのフォーマットに私はしたいと思います。
SELECT ACTNO, SUM(PLAN), SUM(FORECAST)
FROM COST_CENTER
WHERE (ACTNO IN ('100','101'))
GROUP BY ACTNO WITH ROLLUP
...
ACTNO | |
NULL | 24000 | 40000
100 | 12000 | 20000
101 | 12000 | 20000
ありがとうございました。
ありがとうございます!それは素晴らしい仕事でした。好奇心が強い、NULLを埋める方法があり、正しい順序でそれらを保持する方法はありますか? – mckinney14
あなたは 'COALESCE()'を使って 'NULL'を埋めることができます(実際には推奨されませんが、怠け者にとっては簡単です)、 'GROUPING()'関数を使うことができます。行をデフォルトの順序にしたくない場合は、正しい順序が少し厄介です。 –