Si vous voulez savoir combien de fois (en moyenne) une ligne a été insérée, je ne pense pas que vous ayez besoin de calculer toutes les différences. Il vous suffit de résumer les différences entre les lignes adjacentes (adjacentes en fonction de l'horodatage) et de diviser le résultat par le nombre de sommations.
La formule
((T1-T0) + (T2-T1) + … + (TN-TN-1)) / N
peut évidemment être simplifié à simplement
(TN-T0) / N
Ainsi, la requête ressemblerait à ceci :
SELECT TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / (COUNT(*) - 1)
FROM atable
Assurez-vous que le nombre de lignes est supérieur à 1, sinon vous obtiendrez l'erreur Division par zéro. Néanmoins, si vous le souhaitez, vous pouvez éviter l'erreur avec une astuce simple :
SELECT
IFNULL(TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / NULLIF(COUNT(*) - 1, 0), 0)
FROM atable
Vous pouvez maintenant exécuter la requête en toute sécurité sur une table avec une seule ligne.