Re: BUG #15800: Order by random in functions
От | Andrew Gierth |
---|---|
Тема | Re: BUG #15800: Order by random in functions |
Дата | |
Msg-id | 87r292g58w.fsf@news-spur.riddles.org.uk обсуждение исходный текст |
Ответ на | BUG #15800: Order by random in functions (PG Bug reporting form <noreply@postgresql.org>) |
Ответы |
Re: BUG #15800: Order by random in functions
|
Список | pgsql-bugs |
>>>>> "PG" == PG Bug reporting form <noreply@postgresql.org> writes: PG> in version 9.5 (select version(): PostgreSQL 9.5.12 on PG> x86_64-pc-linux-gnu (Debian 9.5.12-1.pgdg80+1), compiled by gcc PG> (Debian 4.9.2-10+deb8u1) 4.9.2, 64-bit) this statement returns PG> element (id_card_type) randomly ordered: PG> select jsonb_array_elements('[...]')...order by random() PG> While in version 9.6 (PostgreSQL 9.6.12 on x86_64-pc-linux-gnu, PG> compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit) PG> and above (I tested it in Postgres 10.8) the query return elements PG> not ordered but in the same sequence as it is in json array. PG> Is it a bug or an expected behavior? Expected behavior, though I'm not sure it's adequately documented. The preferred way to do this is: SELECT a.value->>'id_card_type' FROM jsonb_array_elements('[...]') a ORDER BY random(); which will randomize the order regardless of postgresql version. -- Andrew (irc:RhodiumToad)
В списке pgsql-bugs по дате отправления: