PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Zapytanie o kombinacje JSON zwraca nieparzyste wyniki

Miła osoba z kanału IRC Postgresql pomogła znaleźć odpowiedź i stworzyć prawidłowe zapytanie. To właściwie jego zasługa, nie moja.

Pomógł uświadomić sobie, że albumy i źródła powinny być dodane do tablic dla porównania. Na przykład:

SELECT array_agg(rep_id), count(*) AS ct
FROM (SELECT rep_id, 
             data->>'background' as background, 
             array_agg(o->>'album' order by o->>'album') as albums, 
             array_agg(o->>'src' order by o->>'album') as srcs  
           FROM reports r, 
           json_array_elements(r.data->'objects') o 
           GROUP BY rep_id) s 
GROUP BY background, albums, srcs
ORDER BY count(*) DESC
LIMIT 5;

Nie wiem, czy jest to najlepszy sposób, ale działa. Sugestie są mile widziane.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mapowanie hibernacji między enum PostgreSQL i enum w Javie

  2. Hibernate Native Query problem z nazwanymi parametrami

  3. MySQL czy PostgreSQL? Który powinienem wybrać do mojego projektu Django?

  4. Relacje jeden-do-wielu w (Postgre)SQL

  5. Wykonaj aktualizację alembika w wielu schematach