Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wählen Sie Datensätze von einer Woche zuvor in MySQL aus

Ich glaube, Ihnen fehlt INTERVAL vor 1 week :

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

Hier ist eine Abfrage, die ich ausgeführt habe und die für DATE_SUB() funktioniert Teil:

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

Sie können einen negativen Wert verwenden, um eine "N Wochen vor dem angegebenen Datum"-Abfrage durchzuführen, damit so etwas wie das Folgende funktionieren würde:

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

Oder:

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