【发布时间】:2014-11-14 12:24:59
【问题描述】:
我找到了与我想要的 here 类似的东西,但它并没有给出完全正确的输出,而且我有一个愚蠢的时刻试图想出正确的解决方案......
我们有一个 AVS 服务器(实时帐户验证服务,但这无关紧要),我想知道今天(或其他任何一天)每小时发出了多少请求。例如,假设在上午 8 点到 9 点之间发出了 100 个请求,在上午 9 点到 10 点之间发出了 50 个请求。输出应该在 8AM 有 100,在 9AM 有 150,但我下面的查询显示了而是每小时请求一次。
我知道它为什么这样做...它是按小时分组,因此它会向我显示每小时的请求,但这不是我想要的,这是每小时运行的总数。 (所以我可以每天运行它,看看昨天这个时候的请求数量是多少,等等......并得到一个指示这是一个缓慢或快速的一天。)我该怎么做?
DECLARE @CurrentDate DATETIME = '14 nov 2014'
SELECT
CAST(DateCreated AS DATE) [Date],
DATEPART(hour,DateCreated) [Hour],
COUNT(ID) [Requests]
FROM Request
WHERE
DateCreated >= @CurrentDate AND Request.DateCreated < DATEADD(DAY, 1, @CurrentDate)
GROUP BY
CAST(DateCreated AS DATE),
DATEPART(hour, DateCreated)
ORDER BY
CAST(DateCreated AS DATE)
【问题讨论】:
标签: sql-server tsql