sqlserver统计一段时间内每半小时的订单总量

select dateadd(mi,(datediff(mi,convert(varchar(10),dateadd(ss,-1,[订单创建时间]),120),dateadd(ss,-1,[订单创建时间]))/30)*30,convert(varchar(10),[订单创建时间],120)) as 时间段,  
count([订单号]) as 订单总量  
from  T_VALID_ORDER
where [订单创建时间]<'2017-12-31 23:59:59' and [订单创建时间]>'2016-01-01 00:00:00'
group by dateadd(mi,(datediff(mi,convert(varchar(10),dateadd(ss,-1,[订单创建时间]),120),dateadd(ss,-1,[订单创建时间]))/30)*30,convert(varchar(10),[订单创建时间],120))  
order by 时间段

参考:http://bbs.csdn.net/topics/360003771

你可能感兴趣的:(实验)