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

Làm cách nào để đưa kết quả 0/0 vào COUNT tổng hợp?

Bạn muốn một liên kết bên ngoài cho việc này (và bạn cần sử dụng người làm bảng "lái xe")

SELECT person.person_id, COUNT(appointment.person_id) AS "number_of_appointments"
FROM person 
  LEFT JOIN appointment ON person.person_id = appointment.person_id
GROUP BY person.person_id;

Lý do tại sao điều này đang hoạt động, là kết nối bên ngoài (bên trái) sẽ trả về NULL cho những người không có cuộc hẹn. Hàm tổng hợp count() sẽ không tính NULL và do đó bạn sẽ nhận được số không.

Nếu bạn muốn tìm hiểu thêm về các phép nối bên ngoài, đây là một hướng dẫn hay:http://sqlzoo.net/wiki/Using_Null



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tổng hợp các cột với các bộ lọc bổ sung (riêng biệt)

  2. Tại sao giá trị NULL lại xuất hiện đầu tiên khi đặt hàng DESC trong một truy vấn PostgreSQL?

  3. Postgresql không tạo db với “createb” làm siêu người dùng, chưa xuất lỗi

  4. Sao chép một vài cột của tệp csv vào bảng

  5. Nhận kích thước của đối tượng lớn trong truy vấn PostgreSQL?