Oracle中单列取最大值,最小值和多列取最大值,最小值的方法:
单列:
select min(tb.grades) as 最低分,max(tb.grades) as 最高分
from (
select '张三' as 学生, 65 as grades
from dual
union
select '李四' as 学生, 78 as grades
from dual
union
select '王五' as 学生, 86 as grades
from dual
union
select '马六' as 学生, 95 as grades
from dual
) tb
输出结果:
多列:
select tb.科目,
greatest(tb.一班平均分,tb.二班平均分,tb.三班平均分) as 最高平均分,
least(tb.一班平均分,tb.二班平均分,tb.三班平均分) as 最低平均分
from (
select '语文' as 科目, 86 as 一班平均分, 88 as 二班平均分, 90 as 三班平均分,1 as seq
from dual
union
select '数学' as 科目, 92 as 一班平均分, 95 as 二班平均分, 93 as 三班平均分,2 as seq
from dual
union
select '英语' as 科目, 94 as 一班平均分, 93 as 二班平均分, 89 as 三班平均分,3 as seq
from dual
) tb
order by tb.seq
输出结果:
感谢您的阅读,如有错误或不足之处,敬请批评指正!