У меня есть таблица, в которой есть столбец строки JSON (пары ключ-значение) элементов, я хочу вернуть только пару ключ-значение наибольшего значения
. Сначала я могу сделать этоUNNEST
с использованием объекта JSON с последующим получением наибольшего значения ORDER BY item, value (DESC)
и использованием array_agg
для получения наибольшего значения.Проблема в том, что это означает создание нескольких таблиц и медленная.Я надеюсь, что в одной операции я смогу извлечь самую большую пару ключ-значение.
Это:
| id | items |
| -- | ---------------------------------- |
| 1 | {Item1=7.3, Item2=1.3, Item3=9.8} |
| 2 | {Item2=4.4, Item3=5.2, Item1=0.1} |
| 3 | {Item5=6.6, Item2=1.4, Item4=1.5} |
| 4 | {Item6=0.9, Item7=11.2, Item4=8.1} |
Должно стать:
| id | item | value |
| -- | ----- | ----- |
| 1 | Item3 | 9.8 |
| 2 | Item3 | 5.2 |
| 3 | Item5 | 6.6 |
| 4 | Item7 | 11.2 |
На самом деле мне не нужно это значение, если элемент является наибольшим из объекта JSON, поэтому будет хорошо и следующее:
| id | item |
| -- | ----- |
| 1 | Item3 |
| 2 | Item3 |
| 3 | Item5 |
| 4 | Item7 |