行が挿入された頻度(平均)を知りたい場合は、すべての差を計算する必要はないと思います。 (タイムスタンプに基づいて隣接する)隣接する行間の差を合計し、その結果を被加数の数で割るだけで済みます。
式
((T1-T0) + (T2-T1) + … + (TN-TN-1)) / N
明らかに単純化することができます
(TN-T0) / N
したがって、クエリは次のようになります。
SELECT TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / (COUNT(*) - 1)
FROM atable
行数が1より大きいことを確認してください。そうしないと、ゼロ除算エラーが発生します。それでも、必要に応じて、簡単なトリックでエラーを防ぐことができます:
SELECT
IFNULL(TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / NULLIF(COUNT(*) - 1, 0), 0)
FROM atable
これで、単一行のテーブルに対してクエリを安全に実行できます。