grouping
列が集計列であるかどうかを示します。集計列である場合は 0 が返され、それ以外の場合は 1 が返されます。
Syntax
GROUPING(col_expr)
Parameters
col_expr
: GROUP BY 句の ROLLUP、CUBE、または GROUPING SETS の展開で指定された次元列の式。
Examples
MySQL > select * from t;
+------+------+
| k1 | k2 |
+------+------+
| NULL | B |
| NULL | b |
| A | NULL |
| A | B |
| A | b |
| a | NULL |
| a | B |
| a | b |
+------+------+
8 rows in set (0.12 sec)
MySQL > SELECT k1, k2, GROUPING(k1), GROUPING(k2), COUNT(*) FROM t GROUP BY ROLLUP(k1, k2);
+------+------+--------------+--------------+----------+
| k1 | k2 | grouping(k1) | grouping(k2) | count(*) |
+------+------+--------------+--------------+----------+
| NULL | NULL | 1 | 1 | 8 |
| NULL | NULL | 0 | 1 | 2 |
| NULL | B | 0 | 0 | 1 |
| NULL | b | 0 | 0 | 1 |
| A | NULL | 0 | 1 | 3 |
| a | NULL | 0 | 1 | 3 |
| A | NULL | 0 | 0 | 1 |
| A | B | 0 | 0 | 1 |
| A | b | 0 | 0 | 1 |
| a | NULL | 0 | 0 | 1 |
| a | B | 0 | 0 | 1 |
| a | b | 0 | 0 | 1 |
+------+------+--------------+--------------+----------+
12 rows in set (0.12 sec)