Kortere, hurtigere og mere elegant med en LATERAL
deltage:
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"
Hvis du bare vil have distinkte hold, skal du bruge ORDER BY
kan gå. Relateret:
- Forespørgsel efter element af array i JSON-kolonnen
- Forespørgsel efter array-elementer inde i JSON-typen
JSON og ligestilling
Der er ingen lighedsoperator for json
datatype i Postgres, men der er en for jsonb
(Postgres 9.4+):
- Hvordan forespørger man en json-kolonne for tomme objekter?