2013-06-28 44 views
8

Tôi muốn chọn từ bảng của tôi tất cả các bản ghi có ngày (định dạng ngày giờ mysql YYYY-MM-DD HH: MM: SS) trong 24 giờ qua. Tôi có một truy vấn, nhưng nó không hoàn toàn hoạt độngchọn các bản ghi có ngày trong 24 giờ qua

SELECT * FROM `my_table` WHERE date > DATE_SUB(NOW(), INTERVAL 24 HOUR) 

lý do tại sao nó trả về ngày như vậy 2013-07-01 12:00:00. Làm thế nào tôi sẽ làm điều này? Cảm ơn.

+0

Bạn đang yêu cầu trả lại tất cả các ngày cách đây hơn 24 giờ. Tháng 7 lớn hơn 24 giờ trước. Có lẽ bạn đang nghĩ đến GIỮA? – Strawberry

Trả lời

18

Bạn đã có giới hạn thấp hơn vào ngày, nhưng vì bảng của bạn có thể có ngày trong tương lai, bạn cũng cần giới hạn trên. Điều này sẽ làm việc:

SELECT * 
FROM my_table 
WHERE date > DATE_SUB(NOW(), INTERVAL 24 HOUR) 
    AND date <= NOW() 
0

mysql:

SELECT * FROM my_table ĐÂU ngày> = now() - INTERVAL 24 GIỜ;

Các vấn đề liên quan