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

Làm thế nào để có được một số lượng ngay cả khi không có kết quả mysql tương ứng?

Để làm điều này, bạn có thể tạo bảng 'tháng' và sau đó sử dụng phép nối bên ngoài bên trái giữa bảng đó và bảng báo cáo.

Tôi chưa bao giờ sử dụng mysql nên xin lỗi nếu cú ​​pháp hơi sai, nhưng đây sẽ là truy vấn:

SELECT months.monthNumber,
    count(reports.id) AS `count`
FROM `months` left outer join `reports` on months.monthNumber = month(reports.date_lm) 
WHERE (status = 'submitted') 
AND (date_lm > 2012-08) 
GROUP BY monthNumber
ORDER BY monthNumber ASC

Quan trọng là, số lượng phải là một cột trong bảng báo cáo, không phải bảng tháng, nếu không, bạn sẽ không bao giờ nhận được số khô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. Lỗi MySQL 1264:giá trị ngoài phạm vi cho cột

  2. java.sql.SQLException:Không có cơ sở dữ liệu nào được chọn

  3. Làm cách nào để ngăn trường thập phân MySQL được làm tròn?

  4. Laravel 4:Nơi không tồn tại

  5. MySQL:Tìm kiếm cùng một chuỗi trong nhiều cột