SQL 查询不同字段的最大值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 查询不同字段的最大值相关的知识,希望对你有一定的参考价值。
一张学习成绩单表,主要字段有学号 ID,语文成绩YW,数学成绩SX,英语成绩YY;
现在要查每个学号的考生成绩的最高分数是多少。比如:
学号001 语文90分,数学89分,英语84分;
学号002 语文60分,数学79分,英语94分;
查询的结果是 001 90
002 94
SQL语句要怎么写。
CASE
WHEN 语文 >= 数学 THEN
CASE
WHEN 语文 >= 英语 THEN
语文
ELSE
英语
END
ELSE
CASE
WHEN 数学 >= 英语 THEN
数学
ELSE
英语
END
END
FROM 成绩表 参考技术A 楼主您好
有greatest函数的数据库最好
直接select greatest(YW,SX,YY) from 表就可以了
要是没有的话,那就case when稍微麻烦点 参考技术B 呵呵,楼主接招select MAX(maxNum) as 最大值 from(
select MAX(a) as maxNum from A union all
select MAX(b) as maxNum from A union all
select MAX(c) as maxNum from A) as TB_maxNum 把a表每一列的最大值查出来组成一个表 TB_maxNum ,然后用max(maxNum)再在表中查最大值,ok了,追问
有没有更简单的方法,虽然这个也可以实现。但是这个需求只是整体SQL里的一小部分,如果这个都这么复杂,会影响到整个的运行速度。
如何查询mysql一个字段的最大值的总和
正常查询:select count(jishu) from A where jishu=4 and danwei=3
结果为:65
jishu=4 是手动写的,其实我想要这个字段最大的值
我的写法:
1 select count(jishu) from A where jishu =(select max(jishu) from A where danwei =3 )
2 select count(jishu) from A where jishu =(select max(jishu) from A ) and danwei =3
以上2个都不对
求正确写法!感谢~
以上是关于SQL 查询不同字段的最大值的主要内容,如果未能解决你的问题,请参考以下文章