select dt,newDate,sum(state) counts from (
select
convert(varchar(10),createDate,120) as dt,state,
case when createDate>=cast((convert(varchar(10),createDate,120)+'') as datetime)
and createDate<cast((convert(varchar(10),createDate,120)+' 09:00:00.000') as datetime)
then 1
when createDate>=cast((convert(varchar(10),createDate,120)+' 09:00:00.000') as datetime)
and createDate<cast((convert(varchar(10),createDate,120)+' 18:00:00.000') as datetime)
then 2
when createDate>=cast((convert(varchar(10),createDate,120)+' 18:00:00.000') as datetime)
and createDate<cast((convert(varchar(10),createDate,120)+' 23:59:59.999') as datetime)
then 3
else 4 end newDate
from questionInfo ) o
group by dt,newDate
order by dt
日期时间以天为单位统计小时区间时间段数据
最新推荐文章于 2025-08-19 12:26:59 发布
本文介绍了一种使用SQL进行时间分段统计的方法,通过CASE WHEN语句将一天划分为不同的时间段,并统计每个时间段内的记录数。这种方法适用于需要按时间段进行数据分析的场景。
1734

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



