PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

GROUP BY di Postgres - tidak ada kesetaraan untuk tipe data JSON?

Lebih pendek, lebih cepat, dan lebih elegan dengan LATERAL bergabung:

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"

Jika Anda hanya ingin tim yang berbeda, ORDER BY bisa pergi. Terkait:

  • Kueri elemen larik di kolom JSON
  • Kueri untuk elemen array di dalam tipe JSON

JSON dan kesetaraan

Tidak ada operator kesetaraan untuk json tipe data di Postgres, tetapi ada satu untuk jsonb (Postgres 9.4+):

  • Bagaimana cara mengkueri kolom json untuk objek kosong?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat menghapus basis data

  2. PILIH atau MASUKKAN satu baris dalam satu perintah

  3. Gabungkan satu kolom dalam kueri dengan banyak kolom

  4. Jika hitungan PostgreSQL (*) selalu lambat, bagaimana cara membuat halaman kueri kompleks?

  5. Tips untuk Memantau PostgreSQL untuk Moodle