Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySql count() untuk mengembalikan 0 jika tidak ada catatan yang ditemukan

Tidak ada catatan untuk bulan January itu sebabnya Anda tidak mendapatkan hasil. Salah satu solusi yang berhasil adalah dengan bergabung dengan subquery yang berisi daftar bulan yang ingin Anda tampilkan di daftar tersebut.

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

KELUARAN

╔══════════╗
║ 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. Tetapkan kembali izin akses host ke pengguna MySQL

  2. tabel magento sales_flat_order bidang protect_code penjelasan

  3. MySQL Connect melalui proxy di Java

  4. MySQL:apakah mungkin untuk mengelompokkan_concat beberapa baris?

  5. Apa pendekatan terbaik untuk menemukan semua alamat yang berada dalam jarak tertentu ke titik yang dipilih?