PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

GROUP BY no Postgres - sem igualdade para o tipo de dados JSON?


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?