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

MySQL - Chọn với COUNT trả về một hàng NULL

Tôi nghĩ bạn muốn một left join thay vì inner join vì bạn muốn trả về số lượng là 0 thay vì hàng bị thiếu khi không có c phù hợp ghi lại cho một b nhất định ghi lại.

Ngoài ra, bạn nên bao gồm một nhóm group by khi sử dụng một hàm tổng hợp, chẳng hạn như count .

SELECT
    b.b_id,
    COUNT(DISTINCT c.c_id) AS count
FROM 
    b 
    LEFT JOIN c 
        ON b.b_id=c.b_id  
        AND c.active='yes' 
WHERE b.featured='no'
GROUP BY b.b_id


  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ập nhật MySQL từ CSV bằng JAVA

  2. Chọn các giá trị giữa ngày bắt đầu và ngày kết thúc

  3. MySql chọn giá trị hàng động làm tên cột

  4. Tải hình ảnh Laravel lên cơ sở dữ liệu

  5. Hành vi BẬT XÓA mặc định của MySQL là gì?