2012-02-24 70 views
0

爲了計算給定日期的預計銷售額,我需要查詢給定日期的最近六週的數據。例如,如果我希望星期五的預計銷售額,則需要查詢最近六個星期五的數據。MySQL - 查詢最近六週的數據

我假設有一種方法可以在查詢中做到這一點,只是不確定如何。任何幫助或見解將不勝感激,一如既往。

在此先感謝。

+1

您在每次銷售時存儲什麼樣的日期/日期時間信息? – scibuff 2012-02-24 20:25:26

+0

銷售以DATE格式存儲。例如,如果我想要今天的預計銷售額,我需要2012-02-17,2012-02-10等。 – Brett 2012-02-24 20:28:10

回答

2

最簡單的方法是使用限制。

SELECT date, sales FROM yourtable WHERE DAYOFWEEK(date)=6 
ORDER BY date DESC LIMIT 6; 

編輯:爲了得到這相對於今天,只需添加CURDATE()

SELECT date, sales FROM yourtable WHERE DAYOFWEEK(date)=DAYOFWEEK(CURDATE()) 
ORDER BY date DESC LIMIT 6; 
0
Select * From table Where date_field > DATE_ADD(now(),INTERVAL -42 DAY) 

這就是你需要做的事情。

我剛剛看到你只想查詢每週的某一天。給我一點時間,我會更新這個。

沒關係,我不打算編輯這個。鮑比爲你解答。您只需根據需要通過腳本將變量放置在那裏。 +1鮑比。

1

您可以使用不同的MySQL日期和時間函數的組合來實現這一點。您的查詢可能是這個樣子:

SELECT fields FROM table WHERE DAYOFWEEK(table.date) = DAYOFWEEK(CURDATE()) ORDER BY table.date DESC LIMIT 6 

當然你也可以用你正在試圖預測之日起代替CURDATE()