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)
।