By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
Help with an interesting Postgres question: Why isn't an Index Only Scan used on a partition accessed via the parent table?.
CREATE TABLE table_name (col1 VARCHAR(10), col2 VARCHAR(10), col3 VARCHAR(10))
CREATE TABLE
INSERT INTO table_name (col1, col2, col3)
SELECT 'aaa', 'mmm', 'xxx' UNION ALL
SELECT 'aaa', 'mmm', 'yyy' UNION ALL
SELECT 'aaa', 'nnn', 'xxx' UNION ALL
SELECT 'aaa', 'nnn', 'yyy' UNION ALL
SELECT 'bbb', 'mmm', 'xxx' UNION ALL
SELECT 'bbb', 'mmm', 'yyy' UNION ALL
SELECT 'bbb', 'nnn', 'xxx';
INSERT 0 7
SELECT col1,
col2,
GROUPING(col1, col2),
COUNT(col3)
FROM table_name
GROUP BY ROLLUP(col1, col2);
col1 | col2 | grouping | count |
---|---|---|---|
null | null | 3 | 7 |
bbb | mmm | 0 | 2 |
bbb | nnn | 0 | 1 |
aaa | mmm | 0 | 2 |
aaa | nnn | 0 | 2 |
aaa | null | 1 | 4 |
bbb | null | 1 | 3 |
SELECT 7