gpt4 book ai didi

SQL Server 2000 - 将查询分成 15 分钟的 block

转载 作者:行者123 更新时间:2023-12-04 20:23:02 24 4
gpt4 key购买 nike

我有一个连续的时间数据集,我想使用 sql 将其分解为 15 分钟的块。

如果我能帮上忙,我不想必须创建一个新表才能做到这一点。

IE。
时间,计数
09:15, 1
09:30, 3
09:45, 0
10:00, 2
10:15, 3
.....

有没有人知道我如何做到这一点。我认为这是使用类似于以下内容的选择:

SELECT [对“MyDate”的某种数据操作]
, 计数 (ID)
从我的表
GROUP BY [对“MyDate”的某种数据操作]

最佳答案

通过谨慎使用 dateadd 和 datediff,可以实现这一点。我的解决方案缩短了时间。

第一部分计算行日期和纪元 (0) 之间的分钟数,并对其进行 mod 15,给出行日期和最接近的 15 分钟间隔之间的差异:

select -1 * datediff(minute, 0, mydate) % 15
from mytable

接下来,我们只需要处理分钟,因此我们使用我从 2007 年 2 月 SQL Server 杂志(Itzik Ben-Gan 的日期时间计算)中学到的日期部分剥离技术:
select dateadd(minute, datediff(minute, 0, mydate), 0)
from mytable

然后,我们将差异添加到行的日期列和组并计数,瞧!
select dateadd(minute, -1 * datediff(minute, 0, mydate) % 15, dateadd(minute, datediff(minute, 0, mydate), 0)), count(ID)
from mytable
group by dateadd(minute, -1 * datediff(minute, 0, mydate) % 15, dateadd(minute, datediff(minute, 0, mydate), 0))

关于SQL Server 2000 - 将查询分成 15 分钟的 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1197442/

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