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

Nhóm theo cột được chỉ định trong PostgreSQL

Bạn sẽ phải xác định, cách thức để nhóm các giá trị có cùng category_id . Nối chúng? Tính tổng?

Để tạo danh sách giá trị được phân tách bằng dấu phẩy, câu lệnh của bạn có thể trông giống như sau:

SELECT category_id
      ,string_agg(col1, ', ') AS col1_list
      ,string_agg(col2, ', ') AS col2_list
FROM   items
GROUP  BY category_id

Bạn cần Postgres 9.0 trở lên cho string_agg(col1, ', ') . Trong các phiên bản cũ hơn, bạn có thể thay thế bằng array_to_string(array_agg(col1), ', ') . Các hàm tổng hợp khác tại đây .

Để tổng hợp các giá trị trong PostgreSQL là cách tiếp cận rõ ràng ưu việt hơn so với tổng hợp các giá trị trong máy khách. Postgres là rất nhanh tại điều này và nó làm giảm lưu lượng (mạng).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CHỌN lần xuất hiện của kết hợp các cột với điều kiện tối thiểu trên COUNT

  2. Tác dụng không mong muốn của việc lọc đối với kết quả từ truy vấn crosstab ()

  3. Làm thế nào để lấy vị trí của đối sánh regexp trong chuỗi trong PostgreSQL?

  4. Sử dụng giá trị trả về từ DELETE cho UPDATE trong Postgres

  5. sqlalchemy nhiều khóa ngoại vào cùng một bảng