Jeśli chcesz wiedzieć, jak często (średnio) wstawiano wiersz, nie sądzę, że musisz obliczać wszystkie różnice. Wystarczy zsumować różnice między sąsiednimi wierszami (sąsiednimi na podstawie znacznika czasu) i podzielić wynik przez liczbę sum.
Formuła
((T1-T0) + (T2-T1) + … + (TN-TN-1)) / N
można oczywiście uprościć do zaledwie
(TN-T0) / N
Zapytanie wyglądałoby więc mniej więcej tak:
SELECT TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / (COUNT(*) - 1)
FROM atable
Upewnij się, że liczba wierszy jest większa niż 1, w przeciwnym razie pojawi się błąd dzielenia przez zero. Mimo to, jeśli chcesz, możesz zapobiec błędowi za pomocą prostej sztuczki:
SELECT
IFNULL(TIMESTAMPDIFF(SECOND, MIN(date), MAX(date)) / NULLIF(COUNT(*) - 1, 0), 0)
FROM atable
Teraz możesz bezpiecznie uruchomić zapytanie w tabeli z jednym wierszem.