2013-06-28 11 views
8

Chcę wybrać z mojej tabeli wszystkie zapisy, w których data (datetime mysql format RRRR-MM-DD HH: MM: SS) jest z ostatnich 24 godzin. Mam zapytanie, ale nie całkowicie pracowaćwybierz zapisy z datą w ciągu ostatnich 24 godzin

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

dlatego zwraca datę jak tego 2013-07-01 12:00:00. Jak to zrobić? Dzięki.

+0

Prosi się o zwrot wszystkich dat sprzed 24 godzin. Lipiec jest większy niż 24 godziny temu. Być może myślisz o MIĘDZY? – Strawberry

Odpowiedz

18

Masz już dolny limit daty, ale ponieważ stolik może mieć daty na przyszłość, potrzebujesz również górnego limitu. To powinno działać:

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

MySQL:

SELECT * FROM my_table WHERE date> = teraz() - przedział 24 godziny;

Powiązane problemy