SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列
Posted 刚刚好1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列相关的知识,希望对你有一定的参考价值。
分享一道今天的面试题:SQL语句实现:数据库中有A B C三列,当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列
第一种:使用case when...then...else end实现
select (case when a>b then a else b end ),(case when b>c then b esle c end) from 表
具体的实现如下:
1 SELECT Linux, 2 3 mysql, 4 5 JAVA, 6 7 (case when Linux>MySQL then Linux else MySQL END)as ‘linux和Mysql比较‘ , 8 9 (CASE when MySQL>Java THEN MySQL ELSE Java END)AS ‘mysql和JAVA比较‘ 10 11 FROM tb_grade_score
第二种:使用IF
select if(a>b,a,b),if(b>c,b,c) from 表名
SELECT Linux, MySQL, Java, IF(Linux>MySQL,Linux,MySQL) as ‘linux和Mysql比较‘ ,IF(MySQL>Java,MySQL,Java) AS ‘mysql和JAVA比较‘ FROM tb_grade_score
以上是关于SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列的主要内容,如果未能解决你的问题,请参考以下文章
Oracle---------sql 中取值两列中值最大的一列