Als je wilt weten hoe vaak (gemiddeld) een rij is ingevoegd, hoef je volgens mij niet alle verschillen uit te rekenen. U hoeft alleen de verschillen tussen aangrenzende rijen op te tellen (aangrenzend op basis van het tijdstempel) en het resultaat te delen door het aantal summands.
De formule
((T1-T0) + (T2-T1) + … + (TN-TN-1)) / N
kan uiteraard worden vereenvoudigd tot slechts
(TN-T0) / N
De vraag zou dus ongeveer als volgt zijn:
SELECT TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / (COUNT(*) - 1)
FROM atable
Zorg ervoor dat het aantal rijen meer dan 1 is, anders krijgt u de foutmelding 'Delen op nul'. Maar als je wilt, kun je de fout voorkomen met een simpele truc:
SELECT
IFNULL(TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / NULLIF(COUNT(*) - 1, 0), 0)
FROM atable
Nu kunt u de query veilig uitvoeren op een tabel met een enkele rij.