简单case函数语法:
是一种多分支的函数,可以根据条件列表的值返回多个可能的结果表达式中的一个。(类似于if,else)
简单 CASE函数:
计算测试表达式,按从上到下的书写顺序将测试表达式的值与每个WHEN子句的简单表达式进行比较。
CASE 测试表达式
WHEN 简单表达式1 THEN 结果表达式1
WHEN 简单表达式2 THEN 结果表达式2
......
WHEN 简单表达式n THEN 结果表达式n
[ ELSE 结果表达式n+1 ]
END
简单case函数示例
例1:计算25岁以上和以下的用户数量
SELECT
CASE
WHEN age < 25 OR age IS NULL THEN '25岁以下'
WHEN age >= 25 THEN '25岁及以上'
END age_cut,COUNT(*)number
FROM user_profile
GROUP BY age_cut
例2:查看不同年龄段的用户明细
select device_id,gender,
(case
when age<20 then '20岁以下'
when age between 20 and 24 then '20-24岁'
when age>=25 then '25岁及以上'
else '其他'
end) as age_cut
from user_profile
SELECT device_id,gender,
IF(age is null,'其他',
IF(age<20,'20岁以下',
IF(age<=24,'20-24岁','25岁及以上'))) age_cut
FROM user_profile
SELECT device_id,gender,'20岁以下' as age_cut
FROM user_profile
where age<20;
union
SELECT device_id,gender,'20-24岁' as age_cut
FROM user_profile
where age>=20 and age<=24;
case搜索函数见
https://blog.csdn.net/cpc784221489/article/details/90300424