IT用語集 › データベース › GROUPING SETS

GROUPING SETS

データベース Svenska → 更新: 2026-10-22

GROUP BY の拡張で、複数の異なる集計単位を1回のクエリで計算できる。UNION でつないだ複数の SELECT は要らなくなる。

たとえば国別、製品別、そして全体の総計を一度に取れる。構文は GROUP BY GROUPING SETS ((country), (product), ()) で、結果は3段階の集計になる。空の集合 () が総計だ。GROUPING() 関数を使うと、その行がどの段階のものか分かる。「総計を表す NULL」と本物の NULL を区別するために必要になる。

用途は、複数の軸で小計が欲しいレポートやダッシュボードだ。ROLLUP は階層的な小計、CUBE は全組み合わせを出す略記法にあたる。SQL:1999 の標準で、PostgreSQL、SQL Server、Oracle、MySQL 8 が対応している。集計ごとにテーブルを何度も読むより、はるかに効率がいい。

← 用語集に戻る