По-късо, по-бързо и по-елегантно с LATERAL
присъединете се:
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"
Ако просто искате отделни екипи, ORDER BY
може да отиде. Свързано:
- Запитване за елемент от масив в колона JSON
- Запитване за елементи на масив в JSON тип
JSON и равенство
Няма оператор за равенство за json
тип данни в Postgres, но има такъв за jsonb
(Postgres 9.4+):
- Как да заявя json колона за празни обекти?