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

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

यदि आप जानना चाहते हैं कि कितनी बार (औसतन) एक पंक्ति डाली गई थी, मुझे नहीं लगता कि आपको सभी अंतरों की गणना करने की आवश्यकता है। आपको केवल आसन्न पंक्तियों (टाइमस्टैम्प के आधार पर आसन्न) के बीच अंतर को जोड़ना होगा और परिणाम को सारांशों की संख्या से विभाजित करना होगा।

सूत्र

((T1-T0) + (T2-T1) + … + (TN-TN-1)) / N

स्पष्ट रूप से केवल

. को सरल बनाया जा सकता है
(TN-T0) / N

तो, क्वेरी कुछ इस तरह होगी:

SELECT TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / (COUNT(*) - 1)
FROM atable

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

SELECT
  IFNULL(TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / NULLIF(COUNT(*) - 1, 0), 0)
FROM atable

अब आप एक पंक्ति वाली तालिका के विरुद्ध सुरक्षित रूप से क्वेरी चला सकते हैं।



  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_num_rows () पैरामीटर 1 को संसाधन, बूलियन में दिए जाने की अपेक्षा करता है

  3. NULL मानों के साथ तुलना करना

  4. MySQL संग्रहीत प्रो को कॉल करते समय पैकेट ऑर्डर त्रुटि से बाहर

  5. रेडियो बटन PHP SQL के साथ एक खोज फ़िल्टर करें