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

MySQL:Как да SUM() TIMEDIFF() на група?

Използвайте:

  SELECT t.user_id,       
         SEC_TO_TIME(SUM(TIME_TO_SEC(t.endtime) - TIME_TO_SEC(t.starttime))) AS timediff
    FROM MYTABLE t
GROUP BY t.user_id

Стъпки:

  1. Използвайте TIME_TO_SEC за преобразуване на ВРЕМЕТО в секунди за математическа операция
  2. Сложете разликата
  3. Използвайте SEC_TO_TIME за да преобразувате секундите обратно във TIME

Въз основа на примерните данни, току-що бих предложил:

  SELECT t.user_id,       
         TIMEDIFF(MIN(t.startdate), MAX(t.enddate)) AS timediff
    FROM MYTABLE t
GROUP BY t.user_id   


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Качване на изображение в MySQL база данни blob в codeigniter

  2. В MySQL какво означава Overhead, какво е лошото в него и как да го поправя?

  3. Грешка при неправилна стойност на низа в MySQL при запазване на Unicode низ в Django

  4. PHP конвертира дата и час в секунди

  5. Как мога да получа списък с MySQL бази данни в PHP, използвайки PDO?