Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

यदि कोई रिकॉर्ड नहीं मिला तो MySql गिनती () 0 वापस करने के लिए

January के महीने का कोई रिकॉर्ड नहीं है इसलिए आपको कोई परिणाम नहीं मिल रहा है। एक समाधान जो काम करता है वह है एक सबक्वेरी में शामिल होना जिसमें महीनों की सूची शामिल है जिसे आप सूची में दिखाना चाहते हैं।

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

आउटपुट

╔══════════╗
║ 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. MySQL और PHP:सिरिलिक वर्णों के साथ UTF-8

  2. समय स्ट्रिंग को दशमलव घंटे PHP में बदलें

  3. पाल mySql से कनेक्ट नहीं हो सकता

  4. अधिकतम मिश्रित स्ट्रिंग/इंट कॉलम का चयन कैसे करें?

  5. MySQL डिफ़ॉल्ट डेटाबेस