CASE 表达式练习
1、查找多列数据的最大值
表名:Greatests
我们需要实现:每一行在x、y、z三列中选取最大值(结果如下表所示)
这里就需要用到多层CASE表达式嵌套:
SELECT key_values,
CASE WHEN CASE WHEN x < y THEN y ELSE x END < z
THEN z
ELSE CASE WHEN x < y THEN y ELSE x END
END AS max_values
FROM Greatests;
2、利用group by分条件统计
我们需要利用CASE表达式和groupby将下面表A 转化为表B的形式
表A(sex 1:男,2:女):
表B:
实现代码如下: