Ngắn hơn, nhanh hơn và thanh lịch hơn với LATERAL
tham gia:
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"
Nếu bạn chỉ muốn các đội riêng biệt, hãy ORDER BY
có thể đi. Có liên quan:
- Truy vấn cho phần tử của mảng trong cột JSON
- Truy vấn các phần tử mảng bên trong kiểu JSON
JSON và bình đẳng
Không có toán tử bình đẳng cho json
kiểu dữ liệu trong Postgres, nhưng có một kiểu cho jsonb
(Postgres 9.4+):
- Làm cách nào để truy vấn cột json cho các đối tượng trống?