MySQL周数和新年

时间:2010-12-09 12:51:13

标签: mysql

我现在正在处理的网站上有一个仪表板,显示各个用户在上周输入的数据。我使用一个简单的WHERE子句选择这个数据:

SELECT * FROM table WHERE WEEK(date, 1) = WEEK(CURDATE(), 1) - 1

然而,新年即将到来,当用户试图查看仪表板时,例如1月3日或4日,我的代码显然会给我一个错误的结果,因为上周的数字是2010年是52.那么,改变我的查询以考虑年度变化的最佳方法是什么。而且,选择2周,3周,4周......之前输入的数据会很酷。

2 个答案:

答案 0 :(得分:3)

如何选择七天前的WEEK

WHERE WEEK(date, 1) = WEEK(CURDATE() - INTERVAL 1 WEEK, 1)

这样您可以选择2,3,4周前输入的数据:

WHERE WEEK(date, 1) = WEEK(CURDATE() - INTERVAL 2 WEEK, 1)

答案 1 :(得分:-1)

为什么你不能使用:

 WHERE date between date_add(CurDate() - INTERVAL 1 WEEK) and CurDate()