MySQL - 查询过去六周的数据

时间:2012-02-24 20:23:24

标签: mysql

为了计算某一天的预计销售额,我需要查询给定日期的最近六周的数据。例如,如果我想要周五的预计销售额,我需要查询过去六个星期五的数据。

我假设有一种方法可以在查询中执行此操作,但不确定具体如何。任何帮助或见解都将一如既往地受到高度赞赏。

提前致谢。

3 个答案:

答案 0 :(得分: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;

答案 1 :(得分:1)

您可以结合使用不同的MySQL日期和时间函数来实现此目的。您的查询可能如下所示:

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

当然,您可以将CURDATE()替换为您尝试预测的日期。

答案 2 :(得分:0)

Select * From table Where date_field > DATE_ADD(now(),INTERVAL -42 DAY)

关于你需要做什么。

我刚看到你只想查询每周的某一天。给我一点时间,我会更新这个。

没关系,我不打算编辑这个。鲍比有你的答案。您只需根据需要通过脚本在其中放置变量。 +1 Bobby。