ROLLUP / CUBE / GROUPING SETS の使い方
小計と総計を一度に出す
書き方
GROUP BY ROLLUP (a, b) GROUP BY CUBE (a, b) GROUP BY GROUPING SETS ((a), (b), ()) GROUPING(列)
ROLLUP (a, b) は (a, b) ごと・a ごとの小計・全体の総計を出します。CUBE はすべての組み合わせ。まとめた列は NULL になり、GROUPING(列) が 1 になります。
例
SELECT shop, item, SUM(qty) FROM sales GROUP BY ROLLUP (shop, item);
実際に打って練習する
PostgreSQL コースの Lv15「小計と総計 ROLLUP」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜2 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。