2012-02-24 94 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()