Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL среден брой часове между създадените дати и времена за конкретен интервал от време

Средната стойност е разликата между първия и последния запис, разделена на броя плюс някакво число.

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво Visual Studio ми трябва за MySQL?

  2. MySQL Auto Increment?

  3. MySql - Създаване на изглед за четене от множество таблици

  4. MySQL - Запитване на всички потребители БЕЗ уговорка

  5. съхранени процедури, изпълнявани чрез jdbc