此问题在此处已有答案:
Get top 1 row of each group(19个答案)
10天前关闭。
我正试图从我的数据库中调出前5个射击项目。
例如,2022年8月13日的2000个用户登录事件。
目前,当运行以下查询时,它将返回顶部事件,但也会返回接下来的40个事件。
是否有一种方法可以将TOP
或LIMIT
嵌入到每天的查询中,而不是限制返回的结果?
目前,我的查询如下所示:
SELECT COUNT (M.EventID) AS TopEvent,
Name AS Event,
CAST (MsgDate AS DATE) AS time
FROM Events.dbo.Msg M
JOIN Alarms.dbo.Event E ON E.EventID = M.EventID
GROUP BY CAST (MsgDate AS DATE), Name,
A.EventID
ORDER BY CAST (MsgDate AS DATE), COUNT (MA.EventID) DESC
1条答案
按热度按时间t5fffqht1#
只需使用
ROW_NUMBER()
函数和一个公用表表达式。例如: