Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL:पिछले 24 घंटों के लिए घंटे के हिसाब से रिकॉर्ड डाला गया

अगर आपने HOUR(time) . के आधार पर ग्रुप किया है तो आपको HOUR(time) . का उपयोग करना चाहिए आपके चुनिंदा भावों में, न कि time . में . उदाहरण के लिए:

SELECT HOUR(time), COUNT(*)
FROM `records`
WHERE time > DATE_SUB(NOW(), INTERVAL 24 HOUR)
GROUP BY HOUR(time)
ORDER BY HOUR(time)

वैकल्पिक रूप से आप उस अभिव्यक्ति द्वारा समूहित कर सकते हैं जिसे आप वापस करना चाहते हैं:

SELECT COUNT(*), FLOOR( TIME_TO_SEC( TIMEDIFF( NOW(), time)) / 3600 )
FROM `records`
WHERE time > DATE_SUB(NOW(), INTERVAL 24 HOUR)
GROUP BY FLOOR( TIME_TO_SEC( TIMEDIFF( NOW(), time)) / 3600 )
ORDER BY FLOOR( TIME_TO_SEC( TIMEDIFF( NOW(), time)) / 3600 )

यदि आप सोच रहे थे, तो NOW() . पर कॉल करना सुरक्षित है इस तरह की एक ही क्वेरी में कई बार। मैनुअल से :




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL से पंक्तियाँ प्रदर्शित करें जहाँ एक डेटाटाइम अगले घंटे के भीतर है

  2. MySQL में डेटाटाइम में सेकंड जोड़ना

  3. व्यू + केकफ़्पी में कंट्रोलर वेरिएबल का उपयोग कैसे करें

  4. केकेपीएचपी 3 - एसक्यूएल प्रारूप को सही करने और सत्यापन को सही करने के लिए स्थानीयस्ट्रिंगफॉर्मैट के साथ पार्स तिथि

  5. Laravel 5 एक नया रिकॉर्ड बनाना जो 3 अन्य तालिकाओं से संबंधित है