sql >> Databasteknik >  >> RDS >> Mysql

MySQL genomsnittligt antal timmar mellan skapade datumtider för ett specifikt tidsintervall

Genomsnittet är skillnaden mellan den första och sista posten dividerad med antalet plus ett antal.

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()

Vad gör det här? För det första lägger det inte till ytterligare poster till data. Istället är det bara att avrunda det tidigare datumet och avrunda det senare datumet uppåt. UNIX_TIMETAMP producerar värden i millisekunder sedan någon tidpunkt. Ta skillnaden mellan den största och den minsta. Dela slutligen med antalet rader plus 2 (jag tycker att det borde vara antalet plus 1, men din fråga säger räkna plus 2).



  1. MySQL:är en SELECT-sats skiftlägeskänslig?

  2. php infoga flera värden i separata rader i mysql-tabellen

  3. Fel:anslut ECONNREFUSED medan du använder mysql

  4. Hur undkommer jag ett procenttecken i T-SQL?