Учитывая jsonb
колонного типа и структуры данных, как это:Сортировка данных по "значению" из jsonb_each(), надежна?
{ "1": 10000.2, "2": 77.2, "3": -200.09, "4": 12.55 }
нужны получить результат от этого JSON и сортировать по VALUE
SELECT * FROM jsonb_each(
(SELECT jsonb_column FROM table WHERE id = 777)
)
ORDER BY VALUE DESC
LIMIT 100
Да, это дает правильный результат, но вопрос в том, как надежный заказывает jsonb
тип? (т.к. VALUE
jsonb
type). Будет ли это работать правильно?
Я не хочу (если не нужен) явно обращенный: ORDER BY CAST(VALUE::TEXT AS NUMERIC)
, потому что в JSON, есть ~ 500 000 элементов и при преобразовании, требуется 2X время, чем сортировка просто VALUE
Существует что-то подобное - http://stackoverflow.com/questions/25967778/order-by-json-data-type-postgres Вообще только правильное литье дает вам ожидается Результаты. – JosMac
@JosMac Только из-за литья занимает больше времени, заинтересованный, если вы также можете использовать порядок jsonb. Если не 100% надежный, то я буду использовать правильное литье – RIKI