我继承了一个应用程序,它将出勤日期存储在MySQL数据库中。日期存储为从每周一至周五开始的每周时段。
db的架构如下所示:
PeriodYear | WeekNo | WeekStartDate
2015 | 49 | 07-12-2015
2015 | 50 | 14-12-2015
2015 | 51 | 21-12-2015
2015 | 52 | 28-12-2015
2016 | 01 | 04-01-2016
2016 | 02 | 11-01-2016
我需要从MySQL过去4周。 问题是,如果我在当年选择(即2016年),我只得到1周,因为第52周是在2015年。
我怎样才能获得最后4周(即第49周至2015年,第52周-2015周,第51周至2015年,第50周至2015年)?
答案 0 :(得分:2)
SELECT * FROM YOURTABLEHERE
WHERE WeekStartDate BETWEEN (NOW() - INTERVAL 4 WEEK) AND NOW()