如何得到几个字段中最大值?

比如有四个成绩字段,分别代表期末成绩,第一次补考成绩,第二次补考成绩,以及重修成绩.所有的字段默认值为0,如果我要重中选出成绩最高的那个值,要怎么做呢?
谢谢关注!
---------------------------------------------------------------

SQL> select greatest(90,80,70,60) from dual;

GREATEST(90,80,70,60)
---------------------
90

---------------------------------------------------------------

^_^>>desc std;
SID
GRADE1
GRADE2
GRADE3
GRADE4

^_^>>insert into std values(1,52,85,95,75);

已创建 1 行。

^_^>>insert into std values(2,68,85,84,86);

已创建 1 行。

^_^>>insert into std values(3,95,100,56,85);

已创建 1 行。

^_^>>select * from std;

SID GRADE1 GRADE2 GRADE3 GRADE4
---------- ---------- ---------- ---------- ----------
1 52 85 95 75
2 68 85 84 86
3 95 100 56 85

^_^>>select sid ,greatest(grade1,grade2,grade3,grade4) as max_grade from std;

SID MAX_GRADE
---------- ----------
1 95
2 86
3 100

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus