Как посчитать максимальное значение и заставить sql отображать одну строку

#tsql

#tsql

Вопрос:

Я изучаю SQL и хочу сделать следующее: мне нужно получить наибольшее значение из 2 разных таблиц. На выходе отображаются все строки, однако мне нужна одна строка с максимальным значением.

PS ОГРАНИЧЕНИЕ 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 не помог. Спасибо за понимание и вашу помощь.

Ответ №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 .