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

दिए गए दिनांक अवधि के भीतर सभी महीनों का चयन करें, जिसमें 0 मान वाले महीने भी शामिल हैं

मैं लिवेन के उत्तर से सहमत हूं कि उन सभी महीनों वाली एक तालिका बनाएं जिसमें आपको कभी भी आवश्यकता हो, और अपनी परिणाम तालिका में "बाएं जॉइन" का उपयोग करें। याद रखें, यह वास्तव में एक छोटी तालिका है, आपके पास प्रति वर्ष डेटा की केवल 365(ish) पंक्तियाँ हैं... और आप इस तालिका को प्रारंभ में पॉप्युलेट करने के लिए आसानी से कुछ कोड लिख सकते हैं

हम इसे यहां करते हैं, और यह बहुत सारे लाभ देता है, उदाहरण के लिए, निम्नलिखित फ़ील्ड के साथ एक मासिक डेटा तालिका की कल्पना करें (और कोई भी अन्य जिसके बारे में आप सोच सकते हैं!) एक निश्चित सीमा में सभी महीनों के लिए पूरी तरह से आबादी;

  • तारीख (उदा. 2009-04-01)
  • दिन (जैसे 1)
  • सप्ताह का दिन (जैसे बुधवार)
  • माह (जैसे 4)
  • वर्ष (उदा. 2009)
  • वित्तीय वर्ष (उदा. 2009/10)
  • वित्तीय तिमाही (उदा. 2009Q1)
  • कैलेंडर क्वार्टर (उदा. 2009Q2)

फिर इसे अपनी उपरोक्त क्वेरी के साथ इस प्रकार संयोजित करें;

SELECT `DT`.`myYear`, `DT`.`myMonth`, 
           AVG(`myTable`.`value1`) as avg_value_1, 
           AVG(`myTable`.`value2`) as avg_value_2

FROM `dateTable` as DT
LEFT JOIN `myTable`
    ON `dateTable`.`myDate` = `myTable`.`save_date`

WHERE `dateTable`.`myDate` BETWEEN '2009-01-01' AND '2009-07-01'

GROUP BY `DT`.`myYear`, `DT`.`myMonth`

मेरे SQL कोड में कुछ त्रुटियाँ हो सकती हैं क्योंकि मैं परीक्षण तालिकाएँ बनाने में सक्षम नहीं हूँ, लेकिन आशा है कि आप मूलधन प्राप्त करेंगे और अपनी आवश्यकताओं के अनुरूप परिवर्तन करेंगे!

इसका उपयोग करके, आप अपने "ग्रुप बाय" क्लॉज को "डेटटेबल" टेबल में जो कुछ भी रखते हैं उसे बदल सकते हैं, जिससे आप वित्तीय तिमाही, महीने, दिन, सप्ताह के दिन आदि द्वारा आसानी से रिपोर्ट कर सकते हैं।

आशा है कि इससे मदद मिलेगी!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON_EXTRACT () - MySQL में JSON दस्तावेज़ से डेटा लौटाएं

  2. मैसकल:पसंद के हिसाब से ऑर्डर करें?

  3. MySQL आप एकाधिक पंक्तियों को वापस करने वाली एक चयन सबक्वायरी वाली तालिका में कैसे सम्मिलित होते हैं?

  4. उपयोगकर्ता के लिए जावा JDBC एक्सेस अस्वीकृत

  5. आप MySQL में WITH क्लॉज का उपयोग कैसे करते हैं?