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

GROUP BY w Postgres - brak równości dla typu danych JSON?

Krótszy, szybszy i bardziej elegancki z LATERAL dołącz:

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"

Jeśli potrzebujesz tylko odrębnych zespołów, ORDER BY można iść. Powiązane:

  • Zapytanie o element tablicy w kolumnie JSON
  • Zapytanie o elementy tablicy wewnątrz typu JSON

JSON i równość

Nie ma operatora równości dla json typ danych w Postgresie, ale jest jeden dla jsonb (Postgres 9.4+):

  • Jak wysłać zapytanie do kolumny json o puste obiekty?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Operator nie istnieje:json =json

  2. Rails i PostgreSQL:rola postgres nie istnieje

  3. Nie mogę zainstalować pg gem na Mountain Lion

  4. Django:Grupa zapytań według miesiąca

  5. Podziel dane kolumny oddzielone przecinkami na dodatkowe kolumny