Più corto, più veloce e più elegante con un LATERAL
unisciti:
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"
Se vuoi solo squadre distinte, ORDER BY
può andare. Correlati:
- Query per l'elemento dell'array nella colonna JSON
- Query per gli elementi dell'array all'interno del tipo JSON
JSON e uguaglianza
Non esiste un operatore di uguaglianza per json
tipo di dati in Postgres, ma ce n'è uno per jsonb
(Postgres 9.4+):
- Come interrogare una colonna json per oggetti vuoti?