Om du vill veta hur ofta (i genomsnitt) en rad infogats tror jag inte att du behöver räkna ut alla skillnader. Du behöver bara summera skillnaderna mellan intilliggande rader (intilliggande baserat på tidsstämpeln) och dividera resultatet med antalet summeringar.
Formeln
((T1-T0) + (T2-T1) + … + (TN-TN-1)) / N
kan uppenbarligen förenklas till enbart
(TN-T0) / N
Så frågan skulle vara ungefär så här:
SELECT TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / (COUNT(*) - 1)
FROM atable
Se till att antalet rader är fler än 1, annars får du felet Division By Noll. Men om du vill kan du förhindra felet med ett enkelt trick:
SELECT
IFNULL(TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / NULLIF(COUNT(*) - 1, 0), 0)
FROM atable
Nu kan du säkert köra frågan mot en tabell med en enda rad.