Plus court, plus rapide et plus élégant avec un LATERAL
rejoindre :
SELECT DISTINCT ON (t.team->>'Name') t.team
FROM matches m, json_array_elements(m.match->'Teams') t(team);
ORDER BY t.team->>'Name', m.id DESC; -- to get the "last"
Si vous voulez juste des équipes distinctes, le ORDER BY
peut aller. Connexe :
- Requête pour l'élément du tableau dans la colonne JSON
- Requête pour les éléments de tableau dans le type JSON
JSON et égalité
Il n'y a pas d'opérateur d'égalité pour le json
type de données dans Postgres, mais il y en a un pour jsonb
(Postgres 9.4+) :
- Comment interroger une colonne JSON pour les objets vides ?