sql >> Base de Datos >  >> RDS >> Mysql

Seleccionar registros de una semana anterior en mysql

Creo que te falta INTERVAL al principio de 1 week :

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

Aquí hay una consulta que ejecuté que funciona para DATE_SUB() parte:

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

Puede usar un valor negativo para realizar una consulta "N semanas antes de la fecha dada", de modo que algo como esto funcione:

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

O:

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