在SQL中跨列查找最大值

时间:2019-03-20 18:56:10

标签: sql

我有一个包含4列SID,物理,化学,数学的表格。无论主题如何,我都需要获取SID和最高分,任何人都可以帮助我。

例如

SID Physics Chemistry Maths
1      25      30       85
2      45      28       91
3      97      40       76

输出

SID  Max_Marks 
3     97

1 个答案:

答案 0 :(得分:1)

大多数数据库支持least()greatest()。因此,您可以执行以下操作:

select sid, greatest(Physics, Chemistry, Maths) as max_marks
from t
order by max_marks desc
limit 1;

此语法更适合MySQL。但是,您几乎可以在任何数据库中执行类似的操作。