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

MySQL में साल और महीने के हिसाब से ग्रुप कैसे करें

यह क्वेरी सभी पंक्तियों की गणना करेगी, और केवल उन पंक्तियों की भी गणना करेगी जहां Attribute शून्य नहीं है, वर्ष और महीने के अनुसार पंक्तियों में समूहित करना:

SELECT
  Year(`date`),
  Month(`date`),
  Count(*) As Total_Rows,
  Count(`Attribute`) As Rows_With_Attribute
FROM your_table
GROUP BY Year(`date`), Month(`date`)

(ऐसा इसलिए है क्योंकि काउंट (*) सभी पंक्तियों को गिनता है, काउंट (एटिब्यूट) उन सभी पंक्तियों को गिनता है जहाँ विशेषता शून्य नहीं है)

यदि आपको PIVOT में अपनी तालिका की आवश्यकता है, तो आप इसका उपयोग केवल उन पंक्तियों को गिनने के लिए कर सकते हैं जहां विशेषता शून्य नहीं है:

SELECT
  Year(`date`),
  Count(case when month(`date`)=1 then `Attribute` end) As Jan,
  Count(case when month(`date`)=2 then `Attribute` end) As Feb,
  Count(case when month(`date`)=3 then `Attribute` end) As Mar,
  ...
FROM your_table
GROUP BY Year(`date`)

और यह सभी पंक्तियों को गिनने के लिए:

SELECT
  Year(`date`),
  Count(case when month(`date`)=1 then id end) As Jan,
  Count(case when month(`date`)=2 then id end) As Feb,
  Count(case when month(`date`)=3 then id end) As Mar,
  ...
FROM your_table
GROUP BY Year(`date`)

(या, आईडी गिनने के बजाय, आप Sum(Month( .) का उपयोग कर सकते हैं दिनांक)=1) जैसे कंदर के उत्तर में)। बेशक आप दोनों प्रश्नों को इसमें जोड़ सकते हैं:

SELECT
  Year(`date`),
  Count(case when month(`date`)=1 then id end) As Jan_Tot,
  Count(case when month(`date`)=1 then `Attribute` end) As Jan_Attr,
  Count(case when month(`date`)=2 then id end) As Feb_Tot,
  Count(case when month(`date`)=2 then `Attribute` end) As Feb_Attr,
  Count(case when month(`date`)=3 then id end) As Mar_Tot,
  Count(case when month(`date`)=3 then `Attribute` end) As Mar_Attr,
  ...
FROM your_table
GROUP BY Year(`date`)


  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 में एकाधिक तालिकाओं से उत्पाद डेटा सॉर्ट करें

  2. इवेंट शेड्यूलर का उपयोग करके बैकअप को स्वचालित करना

  3. 'सक्रिय' झंडा या नहीं?

  4. PostgreSQL:एक वैध चर असाइनमेंट नमूना?

  5. Google चार्ट टाइमलाइन आइटम से लिंक बनाना