有时候我们会遇到这种需求,要求统计本月份每天日期的数据,意思就是说日期必须连续,不能中断。我的思路就是查询出一段连续的时间段作为一个表去和主要数据连表查询。表连接分组什么的相对大家都很熟练了,这里主要演示下如何用MySQL查询连续的时间段。
在此之前,先说下mysql自带的一个表 ----- help_topic。它有一个从0~642的顺序ID序列,一些短期的操作可以借助它来完成,比如生成连续的日期。大概看下这个表里面的数据:
我们只关注 help_topic_id 这列 ,右下角可以看到一共有643条数据。接下来就简单了,我们只需要一些固定的参数和时间函数配合即可。下面比如查询某个月连续的天数:
SELECT DATE_FORMAT( DATE_ADD( '2020-01-01', INTERVAL t.help_topic_id DAY