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?