有没有办法用mysql获取过去一周的所有日期,即使它们不包含任何记录?
现在我有一个看起来像这样的查询(对于可以监控工作时间等的应用程序):
SELECT user_id, SUM( TIME_TO_SEC( checkout_time ) - TIME_TO_SEC( checkin_time ) ) AS total_time, DATE( checkout_time ) AS checkout_day
FROM timetable
WHERE task_id = 19
AND checkout_time >= ( DATE_SUB( CURDATE( ) , INTERVAL 1 WEEK ) )
GROUP BY checkout_day, user_id
ORDER BY checkout_day ASC
这真的很好用,但我“只”得到用户实际打卡的日期(这真的是重要的日子)。但是,如果有一种方法可以在一周的时间间隔内获取所有日期,那将是非常棒的。如果是这样的:
DATE(INTERVAL 1 WEEK) as dates
将检索:
|dates
------------
|2012-07-15
|2012-07-16
|2012-07-17
|2012-07-18
|2012-07-19
|2012-07-20
可能不是你通常使用 SQL 的目的,但如果有人知道一种方法——你会让我很开心。