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

तालिका में पंक्तियों के बीच औसत समय अंतर कैसे प्राप्त करें?

यदि आपकी तालिका t है, और आपका टाइमस्टैम्प कॉलम ts है, और आप सेकंड में उत्तर चाहते हैं:

SELECT TIMESTAMPDIFF(SECOND, MIN(ts), MAX(ts) ) 
       /
       (COUNT(DISTINCT(ts)) -1) 
FROM t

यह बड़ी तालिकाओं के लिए मीलों तेज होगा क्योंकि इसमें कोई n-वर्ग जॉइन नहीं है

यह एक सुंदर गणितीय चाल का उपयोग करता है जो इस समस्या से निपटने में मदद करता है। डुप्लीकेट की समस्या पर फिलहाल ध्यान न दें। लगातार पंक्तियों के बीच औसत समय अंतर पहली टाइमस्टैम्प और अंतिम टाइमस्टैम्प के बीच का अंतर है, जिसे पंक्तियों की संख्या -1 से विभाजित किया जाता है।

प्रमाण:क्रमागत पंक्तियों के बीच की औसत दूरी, क्रमागत पंक्तियों के बीच की दूरी के योग को क्रमागत पंक्तियों की संख्या से विभाजित करने पर प्राप्त होती है। लेकिन लगातार पंक्तियों के बीच अंतर का योग केवल पहली पंक्ति और अंतिम पंक्ति के बीच की दूरी है (यह मानते हुए कि वे टाइमस्टैम्प द्वारा क्रमबद्ध हैं)। और लगातार पंक्तियों की संख्या पंक्तियों की कुल संख्या -1 है।

फिर हम टाइमस्टैम्प को अलग होने की शर्त रखते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO::fetchAll बनाम PDO::fetch in a लूप

  2. यूयूआईडी v4 को MySQL में स्टोर करें

  3. क्रॉन जॉब का उपयोग करके दैनिक डेटाबेस बैकअप

  4. Mysql में ऑटोरनिंग क्वेरी

  5. सभी टेबल से पंक्तियों का चयन करने के आसान तरीके