sql >> Database teknologi >  >> RDS >> Mysql

MySQL gennemsnitligt antal timer mellem oprettede datotider for et bestemt tidsinterval

Gennemsnittet er forskellen mellem den første og sidste post divideret med antallet plus et tal.

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

Hvad laver det her? For det første tilføjer det ikke yderligere poster til dataene. I stedet runder det bare den tidligere dato ned og den senere dato afrundes opad. UNIX_TIMETAMP producerer værdier i millisekunder siden et tidspunkt. Tag forskellen mellem den største og mindste. Til sidst skal du dividere med antallet af rækker, du støder på plus 2 (jeg synes, det skal være tæller plus 1, men dit spørgsmål siger tæl plus 2).



  1. MySQL-liste over alle dubletter

  2. Hvordan kører man en MYSQL-forespørgsel på et foruddefineret fast tidspunkt?

  3. SQL SELECT hastighed int vs varchar

  4. Optimal forespørgsel til at hente en kumulativ sum i MySQL