select DATE_FORMAT(table.dateTimeColumns,'%Y-%U') weeks,count(distinct table.dateTimeColumns) countNum,
case when DAYNAME(DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d'))='Sunday' then DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d')
else date_add(DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d'),interval-DAYOFWEEK(DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d'))+1 day) end firstDay,
case when DAYNAME(DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d'))='Saturday' THEN DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d')
else date_add(DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d'),interval 7-DAYOFWEEK(table.dateTimeColumns)+0 day) end lastDay
from table
where table.dateTimeColumns between '2018-01-04 00:00:00' and '2018-02-03 23:59:59' group by weeks order by weeks
case when DAYNAME(DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d'))='Sunday' then DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d')
else date_add(DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d'),interval-DAYOFWEEK(DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d'))+1 day) end firstDay,
case when DAYNAME(DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d'))='Saturday' THEN DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d')
else date_add(DATE_FORMAT(table.dateTimeColumns,'%Y-%m-%d'),interval 7-DAYOFWEEK(table.dateTimeColumns)+0 day) end lastDay
from table
where table.dateTimeColumns between '2018-01-04 00:00:00' and '2018-02-03 23:59:59' group by weeks order by weeks
本文介绍了一种使用SQL来统计指定日期范围内每周的数据记录数的方法,并展示了如何确定每周的起始和结束日期。通过DATE_FORMAT和相关函数组合使用,可以有效地进行时间范围内的数据聚合。
&spm=1001.2101.3001.5002&articleId=79225445&d=1&t=3&u=d49d97970c184a7db0801593bce06e80)
988

被折叠的 条评论
为什么被折叠?



