Обсуждение: Question on the right way to think about order by

Поиск
Список
Период
Сортировка

Question on the right way to think about order by

От
Paula Kirsch
Дата:
When I think about using order by in a select statement, e.g.

select id, name, price from stuff order by name;

I think of order by as an operator sorting data returned by the select statement.

When I think about order by in an aggregate statement, e.g.

select string_agg(product, ' | ' order by product) from products;

is it correct to think of order by as a parameter passed to string_agg?

Re: Question on the right way to think about order by

От
"David G. Johnston"
Дата:
On Tuesday, July 3, 2018, Paula Kirsch <pl.kirsch@gmail.com> wrote:
When I think about order by in an aggregate statement, e.g.

select string_agg(product, ' | ' order by product) from products;

is it correct to think of order by as a parameter passed to string_agg?

For a user it's simply the order that rows are passed into the function.  If the state transition aspect retains order this is how you can control it.  The function itself doesn't really ever see the parameter, it just sees ordered data.

David J.