我现在工作的网站有一个仪表板,显示不同用户在前一周输入的数据。我使用一个简单的WHERE子句选择此数据:
SELECT * FROM table WHERE WEEK(date, 1) = WEEK(CURDATE(), 1) - 1
然而,新年马上就要到了,当用户试图在例如1月3日或4日查看仪表板时,我的代码显然会给我一个错误的结果,因为2010年的最后一周是52。那么,考虑到年份的变化,更改查询的最佳方式是什么呢?而且,如果可以选择输入的数据2、3、4、...几周前。
发布于 2010-12-09 21:00:48
选择七天前的WEEK怎么样?
WHERE WEEK(date, 1) = WEEK(CURDATE() - INTERVAL 1 WEEK, 1)这样,您可以选择2、3、4周前输入的数据:
WHERE WEEK(date, 1) = WEEK(CURDATE() - INTERVAL 2 WEEK, 1)发布于 2010-12-09 21:02:07
为什么你不能使用:
WHERE date between date_add(CurDate() - INTERVAL 1 WEEK) and CurDate()https://stackoverflow.com/questions/4398381
复制相似问题