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

Tổng số dateiff trong vài phút với MySQL

Tình trạng của bạn

WHERE tStart >= '2011-04-04' AND tEnd <= '2011-04-04'

Khá nhiều đảm bảo rằng các bản ghi duy nhất sẽ được để lại ở đâu

tStart = tEnd = '2011-04-04'

Không cần phải nói rằng DATEDIFF giữa chúng cho 0, với tổng tổng là 0. Trên thực tế, DATEDIFF bỏ qua phần thời gian, vì vậy bạn cần sử dụng TIMEDIFF + TIME_TO_SEC

SELECT SUM(TIME_TO_SEC(TIMEDIFF(tEnd, tStart))/60)
FROM tasks
WHERE tStart >= '2011-04-04' AND tEnd <= adddate('2011-04-04', interval 1 day)

Lưu ý sự thay đổi đối với mệnh đề WHERE. Nếu bạn đang cố gắng nói, bắt đầu bất kỳ lúc nào hôm nay và kết thúc bất kỳ lúc nào hôm nay, thì phạm vi phải là (đã giả sử bắt đầu

WHERE tStart >= '2011-04-04'
  AND tEnd < adddate('2011-04-04', interval 1 day)

Bạn có thể cố định mã nó thành 2011-04-05, nhưng sử dụng < (ít hơn) và thêm một ngày vào giới hạn cuối cùng là những gì tôi đang hiển thị ở đây.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tham gia chèn / cập nhật trên MySQL có phải là một hoạt động nguyên tử không?

  2. Các tùy chọn chọn nguồn cấp dữ liệu từ DB tùy thuộc vào các tùy chọn chọn khác

  3. PHP PDO kiểm tra xem một bảng có tên cụ thể tồn tại trong cơ sở dữ liệu mySQL hay không

  4. Liên kết người dùng KeyCloak VÀ CÁC VAI TRÒ NĂNG ĐỘNG

  5. Truy vấn SQL:danh sách tất cả các ID đã hoạt động trong một khoảng thời gian nhất định, được sắp xếp theo thời gian bắt đầu của chúng