gpt4 book ai didi

SQL Server : How to group by a datetime column based on a time interval (Such as within 2 hours)

转载 作者:行者123 更新时间:2023-12-03 00:44:21 26 4
gpt4 key购买 nike

我想根据时间间隔对数据进行分组,假设以 3 小时为一组。如何在数据时间范围内对数据进行分组。

我的数据就像

DocId,    UserCode,     ProcessCode, ProcessDone
1 1 10 21/11/2015 11:04:00
2 1 10 21/11/2015 12:14:00
3 1 20 21/11/2015 11:04:00
4 1 20 21/11/2015 11:54:00
5 1 30 21/11/2015 13:04:00

例如,在上面的数据中,我想根据 UserCode 过程对数据进行分组,在一个时间帧内使用,让我们说 10-12。

喜欢

UserCode, Process, Total
1 10 1
1 20 2

由于此代码总计数是根据 10-12 之间的时间完成的,并按 UserCodeProcessCode 分组。

最佳答案

试试这个方法:

select UserCode, ProcessCode, count(1) Total
from tab
where convert(time,ProcessDone) between '10:00' and '12:00'
group by UserCode, ProcessCode

<强> Sql Fiddle演示

select UserCode, ProcessCode, count(1) Total
from tab
where DATEPART(hh,ProcessDone) > 10 and DATEPART(hh,ProcessDone) < 12
group by UserCode, ProcessCode

<强> Sql Fiddle演示

或在分组依据中包含日期

select UserCode, ProcessCode, count(1) Total
from tab
where convert(time,ProcessDone) between '10:00' and '12:00'
group by UserCode, ProcessCode, convert(date,ProcessDone)

<强> Sql Fiddle演示

关于SQL Server : How to group by a datetime column based on a time interval (Such as within 2 hours),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30211073/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com