sql - 在SQL中获取总分最高的学生姓名

标签 sql oracle greatest-n-per-group

我有一个名为“marks”的表,用于存储学生的分数。

     id name      social math   science
     2  Max Ruin    85   85      56 
     3  Arnold      75   40      170
     4  Krish       60   70      50
     5  John        60   90      80

我想得到总分最高的学生的名字。

我试过这样的查询

 SELECT name, (social + math +science) AS total_mark FROM marks where total_mark = max(total_mark );

但这行不通。任何人都可以帮忙吗?

最佳答案

首先获取max() 总数然后使用子查询

    select * from marks where (social+math+science) =    
      (select max(social+math+science) from marks); 

关于sql - 在SQL中获取总分最高的学生姓名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59045063/

相关文章:

sql - SSIS Excel 到 SQL 导入——文件的前 6 行包含标题相关信息

mysql - 使用 where 子句更新或插入

database - Oracle 在 Windows 或 Linux 上工作得更好?根据你的经验给出你的答案

mysql - 来自唯一 mysql 索引的最新日期时间

mysql - SQL - 选择 'n' 组中最大的元素

SQlite 仅选择它们之间具有已定义差异的行

asp.net - 连接数据库 (MS Access) 或服务器端代码 (ASP.NET) 中的记录值

php - mysql 查询 - 有限制的博客文章和评论

sql - 我们可以在 Oracle SQL Developer 中定义一个包含值范围的变量吗?

sql - 空值会改变平均值吗?