Re: order function in aggregate
От | Richard Huxton |
---|---|
Тема | Re: order function in aggregate |
Дата | |
Msg-id | 4890A4BC.1030404@archonet.com обсуждение исходный текст |
Ответ на | order function in aggregate (Michael Toews <mwtoews@sfu.ca>) |
Ответы |
Re: order function in aggregate
Re: order function in aggregate |
Список | pgsql-sql |
Michael Toews wrote: > Now, I would like to group a summary of the strings in "sub", but they > must be ordered alphabetically. Here I attempt the SQL: > > select commacat(sub), grp from aggr_test group by grp; > > However, on my system it will output the "commacat" column as: > > "one, two, three";"pom pom" > "two, three, one";"la la" > > (notice that the items in the first column are ordered differently, > since the input values were entered in non-alphabetically) > > This is where I get confused, since in the aggregate function, I have > specified `SORTOP="<"`, which according to the documentation > (http://www.postgresql.org/docs/8.3/interactive/sql-createaggregate.html) > "must be equivalent to": > > SELECT sub FROM aggr_test ORDER BY sub USING <; -- LIMIT 1; That's for things like min()/max() where you only want the first/last value of some set. You want all of them. You could accumulate the values in an array and then sort that with the final-func that create aggregate supports. -- Richard Huxton Archonet Ltd
В списке pgsql-sql по дате отправления: