Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何根据给定的列获取前3列项目_Sql_Sql Server - Fatal编程技术网

Sql 如何根据给定的列获取前3列项目

Sql 如何根据给定的列获取前3列项目,sql,sql-server,Sql,Sql Server,鉴于此示例表: ID_no name grade 112 Micheal 81 113 Airi 90 114 Felix 76 115 Ana 87 如何根据给定的成绩获得前三名…您只需结合所需的顺序使用top子句即可: SELECT TOP 3 Name, SUM(Grade)AS

鉴于此示例表:

ID_no         name             grade
112           Micheal          81
113           Airi             90
114           Felix            76
115           Ana              87

如何根据给定的成绩获得前三名…

您只需结合所需的顺序使用
top
子句即可:

SELECT TOP 3 Name, SUM(Grade)AS Grade
FROM table
GROUP BY Name
ORDER BY Grade DESC
(假设分数越高越好)


请注意,您需要
选择带领带的前3行
(如John所示),以包括具有相同编号的所有行。因此,考虑到有5个名称具有相同的等级,我的查询只返回3,而<>代码>绑定< /代码>确保所有5个都被返回。

我有一个问题,如果你有这些结果,<代码> 90, 87, 80,80, 79 < /代码>,你将如何处理<代码> 80 < /代码>的关系?