Hvis du vil vide, hvor ofte (i gennemsnit) en række blev indsat, tror jeg ikke, du skal udregne alle forskellene. Du behøver kun at opsummere forskellene mellem tilstødende rækker (tilstødende baseret på tidsstemplet) og dividere resultatet med antallet af summeringer.
Formlen
((T1-T0) + (T2-T1) + … + (TN-TN-1)) / N
kan åbenbart forenkles til blot
(TN-T0) / N
Så forespørgslen ville være sådan her:
SELECT TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / (COUNT(*) - 1)
FROM atable
Sørg for, at antallet af rækker er mere end 1, ellers får du fejlen Division By Zero. Alligevel, hvis du vil, kan du forhindre fejlen med et simpelt trick:
SELECT
IFNULL(TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / NULLIF(COUNT(*) - 1, 0), 0)
FROM atable
Nu kan du sikkert køre forespørgslen mod en tabel med en enkelt række.