PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Tableau Postgres json date récente

démo pas à pas :db<>violon

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. Extraire tous les éléments du tableau dans une seule ligne
  2. Lire la chaîne datetime à partir de date champ, convertissez-le en horodatage et utilisez-le pour ordonner tous les éléments du tableau avec l'horodatage le plus récent en premier
  3. Il suffit de renvoyer le tout premier élément de tableau (=le plus récent).