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

MySql count () để trả về 0 nếu không tìm thấy bản ghi

Không có bản ghi nào cho tháng January đó là lý do tại sao bạn không nhận được kết quả. Một giải pháp hoạt động là bằng cách kết hợp một truy vấn con có chứa danh sách các tháng mà bạn muốn được hiển thị trên danh sách.

SELECT count(b.id) as totalRec
FROM   (
            SELECT 'January' mnth
            UNION ALL
            SELECT 'February' mnth
            UNION ALL
            SELECT 'March' mnth
        ) a
        LEFT JOIN post b
            ON a.mnth = DATE_FORMAT(b.date, '%M') AND
               year(b.date) =  '2013' AND 
               DATE_FORMAT(b.date, '%M') IN ('January', 'February', 'March') 
GROUP  BY year(b.date)-month(b.date) 
ORDER  BY b.date ASC

ĐẦU RA

╔══════════╗
║ TOTALREC ║
╠══════════╣
║        0 ║
║        7 ║
║        9 ║
╚══════════╝


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để thiết lập Collation trong cơ sở dữ liệu MySQL với Django 2. * mysqlclient?

  2. Tập lệnh PHP để nhập dữ liệu csv vào mysql

  3. cập nhật mysql cụ thể dựa trên nhóm theo dữ liệu

  4. SQL SERVER - Một mẹo xử lý SQL động để tránh tấn công SQL Injection?

  5. Làm cách nào để hiển thị lược đồ của một bảng trong cơ sở dữ liệu MySQL?