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

Cách trả về 0 thay vì null khi sử dụng COUNT trong MySQL

Sử dụng COALESCE() hàm số. COALESCE() nhận ít nhất 2 đối số, được tính theo thứ tự và trả về đối số không rỗng đầu tiên. Vì vậy, COALESCE(null, 0) sẽ trả về 0COALESCE(null, null, null, null, 1) sẽ trả về 1 . Đây là Tài liệu của MySQL về COALESCE() .

Khi đọc lại truy vấn của mình, bạn nên có thể nhận được kết quả bạn muốn như sau:

SELECT <all the fields you want>, b.songsID, COUNT(*) AS projects_count
FROM $sTable b
LEFT OUTER JOIN $sTable2 bb ON bb.songs_id = b.songsID
$sWhere
GROUP BY b.songsID
$sOrder
$sLimit

Như tôi đã nói, điều này sẽ hoạt động, nhưng có điều gì đó không ổ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. Mysql có tương đương với @@ ROWCOUNT như trong mssql không?

  2. thủ tục được lưu trữ mysql tự gọi đệ quy

  3. Xử lý các khóa chính trùng lặp khi chèn trong SQLAlchemy (kiểu khai báo)

  4. chọn các hàng đã xảy ra nhiều hơn ba lần

  5. Cách thoát các ký tự đặc biệt mysql bằng sockets.io/node.js/javascript