2010-09-21 17 views
6

मेरे पास एक सारणी है जहां प्रत्येक पंक्ति में टाइमस्टैम्प होता है। क्या कोई प्रश्न है जो मैं चला सकता हूं जो प्रति घंटे पंक्तियों की संख्या को गिन सकता है। पंक्तियों की संख्या के लिए प्रत्येक क्षेत्र के लिए एक पंक्ति के साथ एक पंक्ति आउटपुट?mysql प्रति घंटे पंक्तियों की संख्या

जैसे

id timestamp 

10 2010-09-19 21:05:05 

11 2010-09-19 22:05:30 

12 2010-09-19 23:05:05 

13 2010-09-19 23:05:05 

number of rows | hour 
1    21 
1    22 
2    23 

मुझे लगता है कि वहाँ घंटे का उपयोग कर के रूप में वहाँ डुप्लिकेट घंटे हो जाएगा के साथ समस्याओं हो सकता है ... इसलिए शायद '2010-09-19 21' या सिर्फ एक संख्या अवधि का प्रतिनिधित्व (जैसे 1 उदाहरण में 2010-09-19 21 है)

TIA

उत्तर

11

यह कितना बड़ा अपनी समय अवधि है पर निर्भर करता है। सभी तिथियों एक महीने के भीतर गिर रहे हैं, तो उदाहरण के लिए, आप ऐसा कर सकता है:

select day(timestamp) as Day, hour(timestamp) as Hour, count(*) as Count 
from MyTable 
where timestamp between :date1 and :date2 
group by day(timestamp), hour(timestamp) 

आप कर सकते हैं वर्ष और माह से समूह के रूप में अच्छी तरह से अगर आप अपने डेटा को अलग करने की जरूरत है।

+0

+1 तुम भी TO_DAYS() जो के बाद से साल 0. –

+0

@RedFilter दिनों की संख्या आप हमें बताएँ कि महीनों और वर्षों के लिए विस्तार करने के लिए है कि कर सकते हैं है इस्तेमाल कर सकते हैं? – Mawg

2
SELECT HOUR(hour) as hour, COUNT(*) as num_rows FROM `TABLE` GROUP BY HOUR(hour) 
संबंधित मुद्दे