爲了計算給定日期的預計銷售額,我需要查詢給定日期的最近六週的數據。例如,如果我希望星期五的預計銷售額,則需要查詢最近六個星期五的數據。MySQL - 查詢最近六週的數據
我假設有一種方法可以在查詢中做到這一點,只是不確定如何。任何幫助或見解將不勝感激,一如既往。
在此先感謝。
爲了計算給定日期的預計銷售額,我需要查詢給定日期的最近六週的數據。例如,如果我希望星期五的預計銷售額,則需要查詢最近六個星期五的數據。MySQL - 查詢最近六週的數據
我假設有一種方法可以在查詢中做到這一點,只是不確定如何。任何幫助或見解將不勝感激,一如既往。
在此先感謝。
最簡單的方法是使用限制。
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;
Select * From table Where date_field > DATE_ADD(now(),INTERVAL -42 DAY)
這就是你需要做的事情。
我剛剛看到你只想查詢每週的某一天。給我一點時間,我會更新這個。
沒關係,我不打算編輯這個。鮑比爲你解答。您只需根據需要通過腳本將變量放置在那裏。 +1鮑比。
您可以使用不同的MySQL日期和時間函數的組合來實現這一點。您的查詢可能是這個樣子:
SELECT fields FROM table WHERE DAYOFWEEK(table.date) = DAYOFWEEK(CURDATE()) ORDER BY table.date DESC LIMIT 6
當然你也可以用你正在試圖預測之日起代替CURDATE()
。
您在每次銷售時存儲什麼樣的日期/日期時間信息? – scibuff 2012-02-24 20:25:26
銷售以DATE格式存儲。例如,如果我想要今天的預計銷售額,我需要2012-02-17,2012-02-10等。 – Brett 2012-02-24 20:28:10