Re: [GENERAL] Are multiple array_aggs going to be in the same order?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [GENERAL] Are multiple array_aggs going to be in the same order?
Дата
Msg-id 15950.1491843689@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [GENERAL] Are multiple array_aggs going to be in the same order?  (Merlin Moncure <mmoncure@gmail.com>)
Ответы Re: [GENERAL] Are multiple array_aggs going to be in the same order?
Список pgsql-general
Merlin Moncure <mmoncure@gmail.com> writes:
> On Sun, Apr 9, 2017 at 4:27 PM, Guyren Howe <guyren@gmail.com> wrote:
>> If I do a SELECT with a GROUP_BY and multiple ARRAY_AGGs, will the ARRAY_AGGs be guaranteed to have entries in the
same(ie corresponding) order? 
>>
>> eg
>>
>> SELECT
>> u.name,
>> ARRAY_AGG(o.order_date) AS order_dates,
>> ARRAY_AGG(o.order_total) AS order_totals
>> FROM
>> user u JOIN
>> orders o USING (user_id)
>> GROUP BY
>> u.user_id

> It is unsafe to rely on aggregation order unless specified -- you can
> add ORDER BY to the aggregation clause.

You definitely can't assume anything about the order in which the FROM
clause will deliver rows, but I think that's not quite what the question
was.  If I read it right, the OP wants to be sure that the two aggregate
functions will see the data in the *same* unspecified order.  I think
that's a pretty safe assumption.  The server would have to go way
out of its way to do differently, and it doesn't.

            regards, tom lane


В списке pgsql-general по дате отправления:

Предыдущее
От: Merlin Moncure
Дата:
Сообщение: Re: [GENERAL] Are multiple array_aggs going to be in the same order?
Следующее
От: Paul Jungwirth
Дата:
Сообщение: Re: [GENERAL] Are multiple array_aggs going to be in the same order?