sql >> Databáze >  >> RDS >> Mysql

Vyberte záznamy z předchozího týdne v mysql

Myslím, že vám chybí INTERVAL na začátku 1 week :

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

Zde je dotaz, který jsem spustil a který funguje pro DATE_SUB() část:

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

Můžete použít zápornou hodnotu k zadání dotazu „N týdnů před daným datem“, takže by fungovalo něco takového:

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

Nebo:

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


  1. Nelze se připojit k místnímu serveru MySQL přes soket

  2. Jak napsat funkci, která vrací textové nebo celočíselné hodnoty?

  3. Můj DBA je nemocný – Tipy pro přepnutí databáze při selhání databáze pro správce systému

  4. Chyba syntaxe PHP PDO nebo porušení přístupu:1064 při vložení