Средната стойност е разликата между първия и последния запис, разделена на броя плюс някакво число.
SELECT (UNIX_TIMESTAMP(max(date(created)+1), min(date(created)))/1000)/(count(*)+2) AS timediffsecs
FROM Sessions
WHERE created BETWEEN DATE_SUB(NOW(), INTERVAL 4 DAYS) AND NOW()
какво прави това? Първо, това не е добавяне на допълнителни записи към данните. Вместо това просто се закръглява надолу по-ранната дата и се закръглява нагоре по-късната дата. UNIX_TIMETAMP
произвежда стойности в милисекунди от определен момент във времето. Вземете разликата между най-голямото и най-малкото. Накрая разделете на броя на срещаните редове плюс 2 (мисля, че трябва да е броят плюс 1, но вашият въпрос казва брой плюс 2).