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