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

समय अंतराल के अनुसार घटनाओं को समूहित करें और गिनें, साथ ही कुल चल रहा है

date_trunc() का उपयोग करें टाइमस्टैम्प को महीने में छोटा करने के लिए और एक ही कॉलम में साल और महीने दोनों को कवर करने के लिए। आप to_char() . का उपयोग कर सकते हैं किसी भी तरह से प्रारूपित करने के लिए।

अपने पूरक प्रश्न में आपके द्वारा उल्लिखित चल रही गिनती प्राप्त करने के लिए, एक विंडो फ़ंक्शन जोड़ें :

SELECT to_char(date_trunc('month', period_start), 'Mon YYYY') AS month
     , count(*) AS month_ct
     , sum(count(*)) OVER (ORDER BY date_trunc('month', period_start)) AS running_ct
FROM   activity_log
WHERE  action = 'create_entry'
GROUP  BY date_trunc('month', period_start);

sqlfiddle Psotgres 9.6
db<>fiddle यहां के लिए पोस्टग्रेज 12

. के लिए

विंडो फ़ंक्शन बाद निष्पादित किए जाते हैं कुल कार्य, इसलिए हम एक ही क्वेरी स्तर में एक समुच्चय पर एक विंडो फ़ंक्शन चला सकते हैं। संबंधित:

विंडो फ़ंक्शन में और GROUP BY . में समान मूल अभिव्यक्ति का उपयोग करना आवश्यक है :date_trunc('month', period_start)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL भूमिका नहीं छोड़ सकता। त्रुटि:`गिराया नहीं जा सकता क्योंकि कुछ वस्तुएं इस पर निर्भर करती हैं`

  2. मूल्य सीमा द्वारा समूह

  3. क्या PostgreSQL 12.1 के साथ MacOS कैटालिना पर वर्चुअलएन्व में psycopg2 स्थापित करने में कोई समस्या है?

  4. हाइबरनेट:बाइनरी डेटा वाले कॉलम को सिंगल आउट करें जिसे लोड नहीं किया जाना चाहिए

  5. पोस्टग्रेज़ डिफ़ॉल्ट फ़ंक्शन के लिए फ़ंक्शन उपनाम