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 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。

PostgreSQL の構文一覧(psql・JSONB・PL/pgSQL)へ戻る