sql >> Base de Datos >  >> RDS >> PostgreSQL

GROUP BY en Postgres:¿no hay igualdad para el tipo de datos JSON?

Más corto, más rápido y más elegante con un LATERAL unirse:

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"

Si solo quieres equipos distintos, el ORDER BY puede ir Relacionado:

  • Consulta del elemento de la matriz en la columna JSON
  • Consulta de elementos de matriz dentro del tipo JSON

JSON e igualdad

No hay operador de igualdad para el json tipo de datos en Postgres, pero hay uno para jsonb (Postgres 9.4+):

  • ¿Cómo consultar una columna json para objetos vacíos?