Mysql
 sql >> Database >  >> RDS >> Mysql

Seleziona i record di una settimana precedente in MySQL

Penso che ti manchi INTERVAL all'inizio di 1 week :

SELECT *
FROM emails
WHERE (DATE(date) = date_sub(date('2011-09-17 00:00:00'), INTERVAL 1 week));

Ecco una query che ho eseguito che funziona per DATE_SUB() parte:

SELECT *
FROM wp_posts
WHERE post_modified > DATE_SUB(CURDATE(), INTERVAL 4 WEEK);

Puoi utilizzare un valore negativo per eseguire una query "N settimane prima della data specificata", quindi qualcosa del genere funzionerebbe:

SELECT *
FROM wp_posts
WHERE post_modified > DATE_SUB(CURDATE(), INTERVAL -1 WEEK);

Oppure:

SELECT *
FROM emails
WHERE (DATE(date) = date_sub(date('2011-09-17 00:00:00'), INTERVAL -1 week))