16

我在 MySQL 中有一个表格,显示每天记录的小时数。我正在尝试构建一个视图,使我能够按块/天范围快速分组我的数据。最简单的情况是按月计算,这并不困难。我可以将日期选择为“%y-%m”,然后按该列分组。

前任:

select time_logged, date_format(start_date, '%Y-%m') AS `month_logged`
from work_log
group by month_logged

如果我只是按月分组,那效果很好。但我的问题是我需要从本月 13 日到下个月 12 日进行分组(例如:7 月 13 日至 8 月 12 日、8 月 13 日至 9 月 12 日等)。

有没有一种简单的方法可以在单个查询/视图中执行类似的操作?我似乎无法提出适合我需要的查询,即使使用不同的日期字段组合也是如此。

4

1 回答 1

31

减去 13 天,然后做你现在正在做的分组:

select time_logged,
       date_format(start_date - interval 12 day, '%Y-%m') AS `month_logged`
from work_log
group by month_logged;
于 2013-08-12T19:26:47.600 回答