Tôi muốn trừ giữa hai giá trị thời gian ngày bằng cách sử dụng SQL trong MySQL sao cho tôi nhận được khoảng thời gian tính bằng phút hoặc giây. Bất kỳ ý tưởng? Tôi muốn chạy một truy vấn SQL lấy các sử dụng từ một cơ sở dữ liệu đã đăng nhập như 10 phút kể từ thời điểm đó.Làm cách nào để trừ sử dụng SQL trong MYSQL giữa hai giá trị thời gian ngày và truy xuất kết quả theo phút hoặc giây?
Trả lời
Có hàm TIMEDIFF (expr1, expr2), trả về giá trị của expr1-expr2 và TIME_TO_SEC (expr3), biểu thị expr1 tính bằng giây.
Lưu ý rằng expr1 và expr2 là giá trị ngày giờ và expr3 chỉ là giá trị thời gian.
Kiểm tra this link để biết thêm thông tin.
Bạn có thể thử và truyền chúng vào dấu thời gian Unix và lấy sự khác biệt.
TIMESTAMPDIFF giống như TIMEDIFF mà Matthew nói, ngoại trừ nó trả về sự khác biệt của hai thời gian trong bất kỳ đơn vị nào bạn mong muốn (giây, phút, giờ, v.v ...).
Ví dụ,
SELECT TIMESTAMPDIFF(MINUTE,LogOutTime,LogInTime) AS TimeLoggedIn
FROM LogTable
Would return số phút người dùng đã đăng nhập (giả sử bạn lưu trữ loại điều trong một bảng như thế).
tôi sẽ làm điều đó như thế này - lấy nơi hoạt động cuối cùng là trong vòng 10 phút bây giờ
SELECT * FROM table WHERE last_activity >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)
Bạn nên sử dụng một số thao tác trên trường chỉ mục. Trong trường hợp này, MySQL bỏ qua chỉ mục đó: [example] (http://sqlfiddle.com/#!2/9619f0/1) (kiểm tra xem có bao nhiêu trường được xử lý khi bạn sử dụng DATE_ADD trên trường và số lượng trường được xử lý khi nào bạn DATE_SUB sử dụng trên hằng số (như NOW()) Vì vậy, câu hỏi của bạn PHẢI tiếp theo:. 'SELECT * FROM table WHERE last_activity> = DATE_SUB (NOW(), INTERVAL 10 PHÚT) ' quy tắc này là cũng áp dụng cho các trường khác là một phần của chỉ mục –
Điểm tốt, và các ví dụ hay, tôi đã cập nhật câu trả lời. –
CHỌN TIMESTAMPDIFF (MINUTE, LogOutTime, LogInTime) AS TimeLoggedIn TỪ LogTable
Ví dụ này sẽ làm hỏng thời gian nếu nó được sử dụng bằng cách sử dụng thời gian đơn lẻ. Vì vậy, để tính toán thời gian millitairy tôi không khuyên bạn nên nó Bởi vì nó kết quả đầu ra giá trị âm.
- 1. trừ phút từ giá trị thời gian
- 2. Ngày, giờ, phút, giây giữa hai ngày
- 3. Truy vấn mysql nhóm theo khoảng thời gian 15 phút
- 4. Dấu thời gian Mysql và ngày php()
- 5. sự khác biệt trong vài giây giữa hai ngày sử dụng thời gian joda?
- 6. MYSQL - Truy lục Dấu thời gian giữa các ngày
- 7. Truy vấn MYSQL: dấu thời gian mới nhất + giá trị duy nhất trong 30 phút qua
- 8. Đo kết quả thời gian theo giá trị trả về là 0 hoặc 0.001
- 9. Thêm phút nhất định để thời gian trong MySQL
- 10. Sự khác biệt giữa MySql giữa hai dấu thời gian trong ngày?
- 11. Tính toán thời gian giữa hai ngày?
- 12. Phép trừ giữa hai truy vấn sql
- 13. Lấy chênh lệch thời gian giữa hai giá trị
- 14. Cách trừ thời gian trong MySQL
- 15. Nhận ngày và giờ khác nhau theo ngày, giờ, phút và giây trong Android
- 16. Làm cách nào để truy vấn giữa hai ngày sử dụng MySQL?
- 17. Cách trích xuất năm, tháng, ngày, giờ, phút, giây kể từ ngày mysql?
- 18. hiệu quả tạo ra một mẫu ngẫu nhiên của thời gian và ngày giữa hai ngày
- 19. Làm cách nào để trừ hai ngày trong Django/Python?
- 20. xuất kết quả truy vấn sql sang csv hoặc excel
- 21. MySQL: làm thế nào để có được sự khác biệt giữa hai dấu thời gian trong giây
- 22. Làm thế nào để tính toán chênh lệch thời gian trong vài phút giữa hai ngày trong iOS
- 23. Countdowntimer theo phút và giây
- 24. Kết quả phân loại MySQL mất một thời gian dài
- 25. ActionScript 3.0 + Tính khoảng thời gian giữa hai ngày?
- 26. Cách hiệu quả để chuyển đổi từ giây sang phút và giây trong máy chủ sql 2005
- 27. Khoảng thời gian giữa hai ngày trong Groovy
- 28. Làm cách nào để thực thi các truy vấn SQL mất nhiều thời gian hơn 99,999 giây trên MySQL Workbench?
- 29. Joda Thời phút trong một thời gian hoặc khoảng
- 30. Cách tốt nhất để lưu trữ các giá trị khoảng thời gian trong MySQL?
Lưu ý rằng kết quả TIMEDIFF (expr1, expr2) trong expr1 - expr2, trong đó kết quả TIMESTAMPDIFF (đơn vị, expr1, expr2) trong expr2 - expr1. Chỉ cần một cái gì đó để xem ra cho. –
@Matthew Jones: Tốt. – Welbog
Cảm ơn vì người đàn ông này quá :) – Ali