SELECT date_trunc('hour', date1) AS hour_stump
, (extract(minute FROM date1)::int / 5) AS min5_slot
, count(*)
FROM table1
GROUP BY 1, 2
ORDER BY 1, 2;
आप GROUP BY
. कर सकते हैं दो कॉलम:एक टाइमस्टैम्प घंटे और 5 मिनट के स्लॉट के लिए छोटा किया गया।
उदाहरण स्लॉट उत्पन्न करता है 0 - 11
. 1
जोड़ें अगर आप 1 - 12
पसंद करते हैं .
मैंने extract()
. का परिणाम डाला पूर्णांक के लिए, इसलिए विभाजन / 5
भिन्नात्मक अंकों को काटता है। परिणाम:
मिनट 0 - 4 -> स्लॉट 0
मिनट 5 - 9 -> स्लॉट 1
आदि।
यह क्वेरी केवल उन 5 मिनट के स्लॉट के लिए मान लौटाती है जहां मान पाए जाते हैं। अगर आप हर . के लिए एक मान चाहते हैं स्लॉट या यदि आप एक चल रही राशि . चाहते हैं 5-मिनट के स्लॉट में, इस संबंधित उत्तर पर विचार करें:
- PostgreSQL:किसी क्वेरी के लिए 'मिनट के हिसाब से' पंक्तियों की चल रही गिनती