Mais curto, mais rápido e mais elegante com um
LATERAL
Junte-se: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 você quer apenas equipes distintas, o
ORDER BY
poder ir. Relacionado:- Consulta do elemento da matriz na coluna JSON
- Consulte elementos de matriz dentro do tipo JSON
JSON e igualdade
Não há operador de igualdade para o
json
tipo de dados no Postgres, mas existe um para jsonb
(Postgres 9.4+):- Como consultar uma coluna json para objetos vazios?