SQLServer中按照任意分钟(5分钟、10分钟)分组统计数据

业务表:PayOrder,包含时间类型字段PO_PayTime,则按照任意分钟进行分组统计的查询SQL如下:

select   cast(floor(cast([PO_PayTime] as float)*24*60/xxx分钟)*xxx分钟/60/24 as smalldatetime)  as Time,count(0) as [Count]
from [PayOrder]
where Delflag=0 
group by cast(floor(cast([PO_PayTime] as float)*24*60/xxx分钟)*xxx分钟/60/24 as smalldatetime)  
order by [Time] desc

比如按照5分钟维度统计数据:

select   cast(floor(cast([PO_PayTime] as float)*24*60/5)*5/60/24 as smalldatetime)  as Time,count(0) as [Count]
from [PayOrder]
where Delflag=0 
group by cast(floor(cast([PO_PayTime] as float)*24*60/5)*5/60/24 as smalldatetime)  
order by [Time] desc

原文地址:https://www.cnblogs.com/chen943354/p/14089967.html