2013-06-28 13 views
8

Desidero selezionare dalla mia tabella tutti i record in cui la data (formato MySQL datetime YYYY-MM-DD HH: MM: SS) è nelle ultime 24 ore. Ho una domanda, ma non funziona completamenteselezionare i record con la data nelle ultime 24 ore

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

perché restituisce la data come quella 2013/07/01 00:00:00. Come lo farei? Grazie.

+0

Stai chiedendo di restituire tutte le date maggiori di 24 ore fa. Luglio è maggiore di 24 ore fa. Forse stai pensando di mezzo? – Strawberry

risposta

18

si dispone già di un limite inferiore alla data, ma dal momento che la vostra tabella può avere le date future è necessario anche un limite superiore. Questo dovrebbe funzionare:

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

mysql:

SELECT * FROM WHERE my_table data> = ora() - INTERVALLO 24 ORE;

Problemi correlati