MySQL查询是否按日期范围分组?

MySQL查询是否按日期范围分组?,mysql,sql,group-by,views,Mysql,Sql,Group By,Views,我在MySQL中有一个表,显示了每天登录的小时数。我正在尝试构建一个视图,该视图允许我按块/天数范围快速分组数据。最简单的情况是每月一次,这并不困难。我可以选择日期为“%y-%m”,然后按该列分组 例: 如果我只是按月份分组的话,效果很好。但我的问题是,我需要从本月13日分组到下个月12日(例如:7月13日至8月12日、8月13日至9月12日等) 有没有一种简单的方法可以在单个查询/视图中执行类似的操作?我似乎想不出一个能满足我需要的查询,即使是使用不同的日期字段组合也不行。减去13天,然后做你

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

例:

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


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

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

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

您是否只需要与13号或12号相关的数据?或者你只想在这一天分组?我想是12天,但是+1:)太棒了。当然那绝对是最简单的。我最终使用了一个复杂的if子句,但这要简单得多!谢谢
select time_logged,
       date_format(start_date - interval 12 day, '%Y-%m') AS `month_logged`
from work_log
group by month_logged;