Re: column order in GROUP BY
От | Lukas Smith |
---|---|
Тема | Re: column order in GROUP BY |
Дата | |
Msg-id | 4407FB67.4020201@pooteeweet.org обсуждение исходный текст |
Ответ на | Re: column order in GROUP BY (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: column order in GROUP BY
|
Список | pgsql-hackers |
Tom Lane wrote: > Neil Conway <neilc@samurai.com> writes: >> A simple hack might help with a subset of this problem, though. For >> queries with both ORDER BY and GROUP BY clauses, we can sort the >> grouping columns according to their position in the ORDER BY list. So, >> given a query like: > >> SELECT a, b, max(c) FROM t1 GROUP BY a, b ORDER BY b; > >> We can avoid the redundant sort for the ORDER BY by grouping by (b, a) >> instead. Attached is a proof-of-concept patch that implements this, >> although it's an enormous kludge. > > I think that's the wrong place. transformGroupClause is the right > place. It already does some hacking to try to make the GROUP BY > semantics match ORDER BY, but it doesn't think to try reordering > the GROUP BY items. Does it also throw out unnecessary columns in the GROUP BY? Like when the GROUP BY contains multiple columns of which one (or a set) already uniquely identifies every row. regards, Lukas
В списке pgsql-hackers по дате отправления: