मैं पिछले 24 घंटों के लिए डेटाबेस में प्रति घंटे रिकॉर्ड की संख्या सूचीबद्ध करने की कोशिश कर रहा हूं। प्रत्येक पंक्ति उस घंटे को रिकॉर्ड किए गए रिकॉर्ड प्रदर्शित करती है, साथ ही यह कितनी घंटे पहले थी। इसे अभी रिटर्नMySQL: पिछले 24 घंटों के लिए घंटे के अनुसार रिकॉर्ड्स,
SELECT COUNT(*), FLOOR(TIME_TO_SEC(TIMEDIFF(NOW(), time))/3600)
FROM `records`
WHERE time > DATE_SUB(NOW(), INTERVAL 24 HOUR)
GROUP BY HOUR(time)
ORDER BY time ASC
:
यहाँ मेरी क्वेरी अब
28 23
62 23
14 20
1 4
28 3
19 1
23 घंटे पहले, से दो पंक्तियों से पता चलता है कि जब यह केवल प्रति घंटे एक दिखाना चाहिए। मुझे लगता है कि यह समय की शुरुआत में समय प्राप्त करने के बजाय अब() का उपयोग करने के साथ कुछ करने के लिए है, जिसे मैं प्राप्त करने के बारे में अनिश्चित हूं।
ऐसा करने का एक आसान तरीका होना चाहिए।