Если вы хотите узнать, как часто (в среднем) строка вставлялась, я не думаю, что вам нужно вычислять все различия. Вам нужно только суммировать различия между соседними строками (смежными на основе отметки времени) и делить результат на количество слагаемых.
Формула
((T<sub>1</sub>-T<sub>0</sub>) + (T<sub>2</sub>-T<sub>1</sub>) + … + (T<sub>N</sub>-T<sub>N-1</sub>)) / N
, очевидно, может быть упрощен до
(T<sub>N</sub>-T<sub>0</sub>) / 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
Теперь вы можете безопасно выполнять запрос к таблице с одной строкой.