SQL Server中不使用TOP/Limit输出所有最高GWG值的球员
解决方案
方法一:子查询匹配最大值
先查询出GWG的最大值,再筛选所有GWG等于该最大值的球员记录:
SELECT CONCAT(First_Name, ' ' , Last_Name) AS [Player Name], GWG FROM nhl WHERE GWG = (SELECT MAX(GWG) FROM nhl);
方法二:窗口函数排名
用RANK()窗口函数按GWG降序给球员排名,筛选排名为1的记录(所有最高GWG的球员都会被选中):
WITH RankedPlayers AS ( SELECT CONCAT(First_Name, ' ' , Last_Name) AS [Player Name], GWG, RANK() OVER(ORDER BY GWG DESC) AS PlayerRank FROM nhl ) SELECT [Player Name], GWG FROM RankedPlayers WHERE PlayerRank = 1;
这两种方法都不需要TOP或LIMIT关键字,能精准输出所有GWG为最高值的球员信息,适配你提到的两位GWG=12的场景。
内容的提问来源于stack exchange,提问作者Jyoti
相关产品推荐
相关产品推荐

