Krótszy, szybszy i bardziej elegancki z LATERAL
dołącz:
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"
Jeśli potrzebujesz tylko odrębnych zespołów, ORDER BY
można iść. Powiązane:
- Zapytanie o element tablicy w kolumnie JSON
- Zapytanie o elementy tablicy wewnątrz typu JSON
JSON i równość
Nie ma operatora równości dla json
typ danych w Postgresie, ale jest jeden dla jsonb
(Postgres 9.4+):
- Jak wysłać zapytanie do kolumny json o puste obiekty?