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

MySQL:क्वेरी का चयन करें, 5 मिनट की वृद्धि

निम्नलिखित आपको :00, :05, :10 ...

पर टाइमस्टैम्प के साथ किसी भी डेटा से युक्त एक नमूना प्राप्त करेगा।
SELECT time, temp_out FROM wmr200 WHERE date(time) = curdate()
    AND mod(minute(time),5) = 0

मैं यह जांचने के लिए मॉड्यूलो फ़ंक्शन का उपयोग कर रहा हूं कि समय का मिनट हिस्सा (0 या) 5 से विभाज्य है या नहीं।

यदि आपको प्रत्येक समय खंड के लिए केवल एक परिणाम की आवश्यकता है, तो हमें कुछ अधिक जटिल होना होगा।

SELECT concat(date(time),' ',hour(time),':',round(minute(time)/5,0)*5), 
       min(temp_out), avg(temp_out), max(temp_out) 
FROM wmr200 
GROUP BY date(time), hour(time), round(minute(time)/5,0)*5

मेरे पास अभी इसका परीक्षण करने के लिए MySQL इंस्टेंस तक पहुंच नहीं है, लेकिन यहां विचार है। यह हर पांच मिनट में, तिथि, घंटे, और round(minute(time)/5,0)*5 के आधार पर समूहीकृत करता है। - जो मिनट को निकटतम 5 तक घुमाता है।

यह समय के मूल्य का चयन करता है कि इसे चारों ओर समूहीकृत किया जाना चाहिए, और न्यूनतम, औसत, और अधिकतम temp_out, क्योंकि मुझे यकीन नहीं था कि इनमें से कौन सा आपकी स्थिति पर सबसे अच्छा लागू होगा।

यदि, हालांकि, आपके डीबी में पांच मिनट के विस्तार के लिए डेटा नहीं है (या 30 मिनट का खिंचाव, यदि आप यही उपयोग कर रहे हैं), तो हो सकता है कि उसके पास नमूना बिंदु के लिए डेटा न हो।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL:उन कुंजियों का चयन करें जो एक तालिका में मौजूद नहीं हैं

  2. इन दो जॉइनिंग टेबल दृष्टिकोणों के बीच अंतर?

  3. डेटाबेस सो रहा है और अपवाद पैदा कर रहा है

  4. माई एसक्यूएल। स्थानों को ऑर्डर करें और बेतरतीब ढंग से लिस्टिंग में शामिल हों

  5. Mysqlbinlog के साथ MySQL बाइनरी लॉग फाइल्स (BinLog) को कैसे पढ़ें?