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 по дате отправления: