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

MySQL में सप्ताह के अनुसार समूहित करें

इसके लिए दो कदम:

एक, आपको एक सप्ताह-छंटनी ऑपरेशन की आवश्यकता है -- जिसमें आपका DATETIME लगेगा आइटम और पिछले रविवार की मध्यरात्रि को वापस दें (यदि आपका व्यवसाय नियम कहता है कि सप्ताह रविवार से शुरू होता है)।

यह एक उपयुक्त GROUP BY आइटम बन जाता है। WEEK() / YEAR() हैक इसके लिए उपयुक्त नहीं है। यह वास्तव में प्रत्येक वर्ष के अंतिम/पहले सप्ताह में गड़बड़ी करता है।

मेरे अनुभव में, यह अभिव्यक्ति आपके लिए सप्ताह-छंटनी की चाल करेगी, रविवार - शनिवार,

  FROM_DAYS(TO_DAYS(TIMESTAMP) -MOD(TO_DAYS(TIMESTAMP) -1, 7))

सोमवार-रविवार सप्ताह प्राप्त करने के लिए, इस अभिव्यक्ति का प्रयोग करें।

  FROM_DAYS(TO_DAYS(TIMESTAMP) -MOD(TO_DAYS(TIMESTAMP) -2, 7))

तो आप यह कर सकते हैं।

  SELECT COUNT(whatever), SUM(whatelse),
         FROM_DAYS(TO_DAYS(event_time) -MOD(TO_DAYS(event_time) -1, 7)) as WEEKSTART,
    FROM TABLE
   GROUP BY FROM_DAYS(TO_DAYS(event_time) -MOD(TO_DAYS(event_time) -1, 7))

MySQL में हफ्ते दर हफ्ते ग्रुप कैसे करें?

दूसरा, आपको उस छोटी तिथि में छह दिन जोड़ने होंगे, ताकि आप प्रत्येक सप्ताह के अंतिम दिन को पहले दिन के साथ प्रदर्शित कर सकें।

नेस्टेड क्वेरी के साथ ऐसा करने का यह एक अच्छा तरीका है

SELECT whats, elses, weekstart, weekstart + INTERVAL 6 DAY AS weekend
  FROM (
  SELECT COUNT(whatever) AS whats, SUM(whatelse) AS elses,
         FROM_DAYS(TO_DAYS(event_time) -MOD(TO_DAYS(event_time) -1, 7)) AS weekstart,
    FROM TABLE
   GROUP BY FROM_DAYS(TO_DAYS(event_time) -MOD(TO_DAYS(event_time) -1, 7))
  ) AS summary
ORDER BY weekstart

यह बहुत कुछ कर रहे हैं? मेरा सुझाव है कि आप एक संग्रहित TRUNC_WEEK . बनाएं समारोह।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. इस SQL ​​​​कथन को कैसे लिखें?

  2. MYSQL ऑर्डर बाय केस इश्यू

  3. PHP mySQL - डेटाबेस से डिस्कनेक्ट करने का सबसे अच्छा समय कब है?

  4. Laravel MySQL उसी क्रम में परिणाम कैसे ऑर्डर करें जिसमें क्लॉज में है

  5. MySQL संग्रहीत कार्यों और प्रक्रियाओं को कैसे बनाएं और निष्पादित करें