gpt4 book ai didi

c# - SQL如何将两个日期之间一小时内的事件求和并显示在一行中

转载 作者:太空狗 更新时间:2023-10-30 01:23:59 24 4
gpt4 key购买 nike

我正在使用 C# 和 SQL Server 2005 开发一份报告,我只需要显示我们每小时有多少命中。 table 很大。输出应如下所示:

Row# |     Date    |  Time  | Hit Count-----------------------------1    | 07/05/2012  |  8:00  |  32    | 07/05/2012  |  9:00  |  43    | 07/05/2012  |  10:00 |  04    | 07/05/2012  |  11:00 |  5

我的表是这样的:

"HitTime":07/05/2012 08:02:2407/05/2012 08:12:2107/05/2012 08:23:0007/05/2012 09:01:0007/05/2012 09:08:1407/05/2012 09:12:3107/05/2012 09:22:27

..等等正如您在 HitTime 字段中看到的,我只有日期和时间,我需要在同一日期显示,例如从 8:00 到 8:59 我获得了多少点击,而且应该是一整天,从第一秒开始那天从第二天开始到结束。

最佳答案

DECLARE @current_date DATETIME

SET @current_date = '2012-05-07';

WITH hours (hr) AS
(
SELECT 0
UNION ALL
SELECT hr + 1
FROM hours
WHERE hr < 23
)
SELECT ROW_NUMBER() OVER (ORDER BY hr) AS rn,
@current_date AS [date],
CONVERT(VARCHAR(5), DATEADD(hour, h.hr, @current_date), 108) AS [time],
COUNT(hs.hittime) AS hitcount
FROM hours h
LEFT JOIN
hits hs
ON hs.hittime >= DATEADD(hour, h.hr, @current_date)
AND hs.hittime < DATEADD(hour, h.hr + 1, @current_date)
GROUP BY
hr

关于c# - SQL如何将两个日期之间一小时内的事件求和并显示在一行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10618879/

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