我正在学习SQL,并希望进行以下操作: 我需要从2个不同的表中获得最高的价值。 OUTPUT显示所有行,但是我需要一个具有最大值的行。
P.S。 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
我清楚地知道,对于专业人士来说这可能是一个愚蠢的问题,但是Google并没有帮助。感谢您的理解和帮助。
答案 0 :(得分:1)
尝试使用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
。