【牛客网】SQL26 计算25岁以上和以下的用户数量

题目链接:SQL26 计算25岁以上和以下的用户数量 题目描述: 方法1:IF语句 SELECTage_cut,count(*)numberFROM

题目链接:SQL26 计算25岁以上和以下的用户数量
题目描述:
在这里插入图片描述
方法1:IF语句

SELECT
age_cut,
count(*)number
FROM
(SELECT IF(age>=25,"25岁及以上","25岁以下")age_cut from user_profile)as tem
GROUP BY age_cut;

方法2:CASE WHEN
用法为:

CASE 测试表达式
WHEN 简单表达式1 THEN 结果表达式1
WHEN 简单表达式2 THEN 结果表达式2WHEN 简单表达式n THEN 结果表达式n
[ ELSE 结果表达式n+1 ]
END

答案:

SELECT
CASE
WHEN age>=25 THEN "25岁及以上"
WHEN age<25 OR age IS NULL THEN "25岁以下"
END age_cut,COUNT(device_id)number
FROM user_profile
GROUP BY age_cut;

方法3:UNION ALL/UNION

SELECT
"25岁以下" age_cut,
COUNT(*)
FROM user_profile
WHERE age<25 OR age IS NULL
GROUP BY age_cut
UNION ALL
SELECT
"25岁及以上" age_cut,
COUNT(*)number
FROM user_profile
WHERE age>=25