首页 > 解决方案 > 如何计算最大值并使sql显示单行

问题描述

我正在学习 SQL 并想做以下事情:我需要从 2 个不同的表中获取最高值。OUTPUT 显示所有行,但是我需要具有最大值的单行。

PS LIMIT 1 在 SQL Server Management Studio 中不起作用

SELECT Players.PlayersID, MAX (Participants.EventsID) AS Maximum FROM Players
LEFT JOIN Participants ON Players.PlayersID = Participants.PlayersID
GROUP BY Players.PlayersID

我清楚地知道这对于专业人士来说可能是一个愚蠢的问题,但谷歌并没有提供帮助。感谢您的理解和帮助。

标签: tsql

解决方案


尝试使用TOP

SELECT TOP 1
    pl.PlayersID,
    MAX(pa.EventsID) AS Maximum
FROM Players pl
LEFT JOIN Participants pa
    ON pl.PlayersID = pa.PlayersID
GROUP BY
    pl.PlayersID
ORDER BY
    MAX(pa.EventsID) DESC;

如果您想满足两个玩家的最大值相同的可能性,那么请使用.TOP 1 WITH TIES而不是TOP 1.


推荐阅读