Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Selecione registros de uma semana anterior no mysql


Acho que está faltando INTERVAL na frente de 1 week :
SELECT *
FROM emails
WHERE (DATE(date) = date_sub(date('2011-09-17 00:00:00'), INTERVAL 1 week));

Aqui está uma consulta que eu executei que funciona para o DATE_SUB() papel:
SELECT *
FROM wp_posts
WHERE post_modified > DATE_SUB(CURDATE(), INTERVAL 4 WEEK);

Você pode usar um valor negativo para fazer uma consulta "N semanas antes da data especificada" para que algo assim funcione:
SELECT *
FROM wp_posts
WHERE post_modified > DATE_SUB(CURDATE(), INTERVAL -1 WEEK);

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