Re: Unexpected results when using GROUP BY GROUPING SETS and bind variables
От | Tom Lane |
---|---|
Тема | Re: Unexpected results when using GROUP BY GROUPING SETS and bind variables |
Дата | |
Msg-id | 67475.1599677153@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Unexpected results when using GROUP BY GROUPING SETS and bind variables (Aner Perez <aner.perez+pgsql-general@gmail.com>) |
Ответы |
Re: Unexpected results when using GROUP BY GROUPING SETS and bind variables
|
Список | pgsql-general |
Aner Perez <aner.perez+pgsql-general@gmail.com> writes: > Or if using indexed path elements in the GROUP BY is the issue and I should > put the array indexing in a subselect and do the aggregation in the outer > select. Like this: > -- Safer Subselect Version -- > SELECT level1, level2, level3, level4, sum(value) > FROM ( > SELECT path[1] as level1, path[2] as level2, path[3] as level3, path[4] > as level4, value > FROM bind_group_by > ) AS expanded > GROUP BY GROUPING SETS ( > (level1, level2, level3, level4), > (level1, level2, level3), > (level1, level2), > (level1), > () > ) > ORDER BY 1, 2, 3, 4; Yeah, that one looks a lot safer from here. There's no question about which expressions are supposed to match what. It should end up with the same plan, too. regards, tom lane
В списке pgsql-general по дате отправления: