पीटर
SELECT COUNT(*), HOUR(timecode)
FROM timecodeTable
GROUP BY HOUR(timecode);
ऊपर दिए गए डेटा को देखते हुए आपका परिणाम सेट इस तरह दिखेगा:
+----------+----------------+
| COUNT(*) | HOUR(timecode) |
+----------+----------------+
| 10 | 18 |
+----------+----------------+
कई और संबंधित कार्य पाए जा सकते हैं यहाँ ।
संपादित करें
आपकी टिप्पणी के आउटपुट के आधार पर अपने स्वयं के कुछ परीक्षण करने के बाद मैंने निर्धारित किया कि आपका डेटाबेस महाकाव्य विफल की स्थिति में है . :) आप INT's को TIMESTAMPs के रूप में उपयोग कर रहे हैं। यह कभी भी अच्छा विचार नहीं है। TIMESTAMP/DATETIME के स्थान पर INT का उपयोग करने का कोई उचित कारण नहीं है।
उस ने कहा, आपको मेरे उपरोक्त उदाहरण को निम्नानुसार संशोधित करना होगा:
SELECT COUNT(*), HOUR(FROM_UNIXTIME(timecode))
FROM timecodeTable
GROUP BY HOUR(FROM_UNIXTIME(timecode));
2 संपादित करें
इसे हासिल करने के लिए आप अतिरिक्त ग्रुप बाय क्लॉज का उपयोग कर सकते हैं:
SELECT
COUNT(*),
YEAR(timecode),
DAYOFYEAR(timecode),
HOUR(timecode)
FROM timecodeTable
GROUP BY YEAR(timecode), DAYOFYEAR(timecode), HOUR(timecode);
ध्यान दें, मैंने संक्षिप्तता के लिए FROM_UNIXTIME() को छोड़ दिया है।