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

 

 

 

 

posted on 2019-11-06 22:11  刚刚好1  阅读(1659)  评论(0编辑  收藏  举报

导航