Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL:Làm thế nào để SUM () một TIMEDIFF () trên một nhóm?

Sử dụng:

  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

Các bước:

  1. Sử dụng TIME_TO_SEC để chuyển TIME thành giây cho phép toán
  2. Tính tổng số tiền chênh lệch
  3. Sử dụng SEC_TO_TIME để chuyển đổi giây trở lại TIME

Dựa trên dữ liệu mẫu, tôi vừa đề xuất:

  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. Làm thế nào để lấy giá trị từ Javascript Prompt Box và truyền nó vào biến PHP để có thể lưu trong SQL?

  2. Tại sao bạn không nên sử dụng mysql_fetch_assoc nhiều hơn 1 lần?

  3. `Mysqlcheck` có thể giúp tôi giải quyết các sự cố cơ sở dữ liệu mà không làm hỏng cơ sở dữ liệu của tôi không?

  4. Chỉ trả lại hàng nếu giá trị không tồn tại

  5. Truy vấn MySQL