0

多くのレコードを持つ MySql テーブルがあります。しかし、私は現在と前の週の別々のレコードを取得したいと思っています。

完全に機能する今週のレコードのクエリ

SELECT * FROM tbl_track WHERE WEEK(`date_created`) = WEEK(CURDATE())

前の週のクエリを実行しますが、機能しません

SELECT * FROM tbl_track WHERE WEEK(`date_created`) = WEEK(CURDATE()) INTERVAL 7 DAY
4

2 に答える 2

1
SELECT * FROM tbl_track 
WHERE WEEK(`date_created`) = WEEK(DATE_SUB(CURDATE(), INTERVAL 7 DAY))

また:

SELECT * FROM tbl_track 
WHERE WEEK(`date_created`) = WEEK(CURDATE() - INTERVAL 7 DAY)
于 2012-09-26T08:29:52.147 に答える
-1

インデックスを使用できるようには見えませんが、それは実際には副次的な問題です。あなたのcurdateを7日にしたい

SELECT * FROM tbl_track WHERE WEEK( date_created) = WEEK(ADDDATE(CURDATE(), INTERVAL -7 DAY));

于 2012-09-26T08:33:05.860 に答える