PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

DISTINCT với hai array_agg (hoặc một array_agg với bộ dữ liệu bên trong)?

Tương tự như những gì tôi đã trả lời tại câu hỏi trước của bạn , chỉ với ARRAY of rows như bạn đã đề xuất và ký hiệu vị trí ngắn hơn:

SELECT DISTINCT ON (1)
       p, groundtruth, array_agg(ROW(anchor_id, id)) AS ids
FROM (
   SELECT DISTINCT ON (1, 2, 3)
          ps.p, m.groundtruth, m.anchor_id, m.id
   FROM  (SELECT unnest(point_array) AS p) AS ps
   JOIN   measurement m ON ST_DWithin(ps.p, m.groundtruth, distance)
   ORDER  BY 1, 2, 3, random()
   ) x
GROUP  BY 1, 2
ORDER  BY 1, random();

Nhưng tôi thích phiên bản khác với mảng 2 chiều hơn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các tiện ích mở rộng PostgreSQL yêu thích của tôi - Phần thứ hai

  2. Postgres làm ơn / pgsql LỖI:column column_name không tồn tại

  3. Làm cách nào để thực hiện nhiều order_by trong Flask-SQLAlchemy?

  4. Làm cách nào để hiển thị WORK_MEM của các kết nối PostgreSQL bên ngoài?

  5. SQL tiếp tục thực thi các truy vấn sau khi vi phạm khóa trùng lặp