PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Data recente da matriz do Postgres json


demonstração passo a passo:db<>fiddle
SELECT 
    elem.value ->> 'date' as thedate,
    elem.value ->> 'note' as note
FROM t,
    json_array_elements(data) elem                                  -- 1 
WHERE id = 4123
ORDER BY to_timestamp(elem ->> 'date', 'DD/MM/YYYY HH24:MI') DESC   -- 2
LIMIT 1                                                             -- 3
  1. Extraia todos os elementos da matriz em uma linha
  2. Ler string de data e hora de date campo, converta em timestamp e use-o para ordenar todos os elementos do array com timestamp mais recentes primeiro
  3. Basta retornar o primeiro elemento de matriz (=mais recente).