2011-08-06 22 views
0

今週のデータを除いて、MYSQLから最後の2週間のデータを取得しようとしています。今週を除くMYSQLから最後の2週間のデータを取得

たとえば、今日が月曜日の場合、クエリは前の2週間のレコードを返す必要があります。 今日が土曜日または日曜日の場合、クエリは今週+先週のレコードを返します。

検索したところ、YEARweekは役に立ちましたが、実装方法が見つからないことが判明しました。

+2

今週の実際の週または7日を意味しますか? – Ben

+0

あなたは何を求めていますか?あなたが与えた例はあまり明確ではありません。どちらの場合も、 "_queryは過去2週間のレコードを返すべきです_"と言います。それが返される日付を正確に明確にすることができますか? 「今週のデータを除いてMYSQLからの2週間のデータ_」は、あなたが本当にほしいことを意味します**前週のデータ** - それは間違いありませんか? – Tadeck

+0

今日が土曜日の場合 - クエリは前週の月曜日から昨日までのレコードを返す必要があります。今日は月曜日から金曜日の間です。クエリは過去2週間の週のデータから戻ってくるはずです。 – Web21

答えて

0

土曜日と日曜日のレコードがない場合。これは正常に動作するはずです。

where case 
when weekday(now()) between 0 and 4 then 
record_date between date_sub(date_sub(now(),INTERVAL weekday(now())+1 day),INTERVAL 2 WEEK) and date_sub(now(),INTERVAL weekday(now())+1 day) 
else 
record_date between date_sub(now(),INTERVAL 2 WEEK) and now() 
end 
関連する問題