我有这段代码,每小时计算一组事件的发生次数。现在我需要MAX COUNT并将其输入到不同的表中。我是SQL新手,并且遇到与MAX结合的UPDATE语句和下面的所有问题。任何人都可以帮忙吗?谢谢!按日期时间计数每小时计算SQL Server组并更新计入表中的最大值?
SELECT CAST(locate_received_date as date) AS 'ForDate',
DATEPART(hh, locate_received_date) AS 'OnHour',
COUNT (*) AS 'Count'
FROM BELL_DPRA2_locates_fact
WHERE locate_received_date BETWEEN '2016-12-01 00:00:00.000' AND '2016-12-01 23:59:59.999'
GROUP BY CAST(locate_received_date as date), DATEPART(hh, locate_received_date);
编辑:这个答案为我工作,感谢@agfc。我修改了一下为我工作。
UPDATE MyTable
SET MaxHourlyCount =
(SELECT Max(A.HourCount)
FROM (SELECT CAST(locate_received_date as date) AS 'ForDate',
DATEPART(hh, locate_received_date) AS 'OnHour',
COUNT (*) AS HourCount
FROM BELL_DPRA2_locates_fact
WHERE locate_received_date BETWEEN '2016-12-01 00:00:00.000' AND '2016-12-01 23:59:59.999'
GROUP BY CAST(locate_received_date as date), DATEPART(hh, locate_received_date)) AS A)
您的更新在哪里?你在更新哪张桌子?用什么值?哪些代码不工作? – agfc
对不起,我正在编辑这个问题,因为表格没有正确显示。我为代码输出附上了一张图片 –
这仍然没有回答。请显示无法使用的代码,或者至少提供您想要实现的更多细节。 – agfc