Se vuoi sapere con quale frequenza (in media) è stata inserita una riga, non credo che tu debba calcolare tutte le differenze. Devi solo sommare le differenze tra righe adiacenti (adiacenti in base al timestamp) e dividere il risultato per il numero delle somme.
La formula
((T1-T0) + (T2-T1) + … + (TN-TN-1)) / N
può ovviamente essere semplificato semplicemente
(TN-T0) / N
Quindi, la query sarebbe qualcosa del genere:
SELECT TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / (COUNT(*) - 1)
FROM atable
Assicurati che il numero di righe sia maggiore di 1 o otterrai l'errore Division By Zero. Tuttavia, se vuoi, puoi prevenire l'errore con un semplice trucco:
SELECT
IFNULL(TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / NULLIF(COUNT(*) - 1, 0), 0)
FROM atable
Ora puoi eseguire in sicurezza la query su una tabella con una singola riga.