Проблем с сортировкой postgresql
Вот такой запрос SELECT id_subject, info::json->>'price' FROM subject ORDER BY info::json->>'price' ASC; приводит к такому выводу. Тут явно проблемы с сортировкой
id_subject | ?column?
------------+----------
356 | 101.5
217 | 102.04
338 | 102.5
362 | 102.7
219 | 103.22
228 | 11.62
317 | 126.8
319 | 130.8
191 | 13.63
316 | 141.1
215 | 159.79
231 | 172.42
298 | 177.5
239 | 179.48
297 | 186.7
Как пофиксить?
Ответы (1 шт):
Автор решения: Komdosh
→ Ссылка
В jsonb формате, у вас все строки, вот вам price был отсортирован как строка, надо привести их числу
SELECT id_subject, info::json->>'price' FROM subject ORDER BY (info::json->>'price')::float ASC;