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 example(col_a, col_b) AS (values
(1,1),
(1,2),
(1,3),
(2,1),
(2,2),
(2,3),
(3,1),
(3,2)
);
SELECT * FROM example
SELECT 8
col_a | col_b |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
2 | 1 |
2 | 2 |
2 | 3 |
3 | 1 |
3 | 2 |
SELECT 8
SELECT array_agg(col_a), col_b
FROM (SELECT col_a, array_agg(DISTINCT col_b ORDER BY col_b) AS col_b
FROM example GROUP BY col_a) grouped_b
GROUP BY col_b;
array_agg | col_b |
---|---|
{3} | {1,2} |
{1,2} | {1,2,3} |
SELECT 2