Der Durchschnitt ist die Differenz zwischen dem ersten und dem letzten Datensatz dividiert durch die Anzahl plus eine Zahl.
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()
Was macht das? Erstens werden den Daten keine zusätzlichen Datensätze hinzugefügt. Stattdessen wird nur das frühere Datum abgerundet und das spätere Datum aufgerundet. UNIX_TIMETAMP
liefert Werte in Millisekunden seit einem bestimmten Zeitpunkt. Nimm den Unterschied zwischen dem Größten und dem Kleinsten. Teilen Sie schließlich durch die Anzahl der gefundenen Zeilen plus 2 (ich denke, es sollte die Anzahl plus 1 sein, aber Ihre Frage sagt Anzahl plus 2).