题解 | #计算25岁以上和以下的用户数量#
计算25岁以上和以下的用户数量
https://www.nowcoder.com/practice/30f9f470390a4a8a8dd3b8e1f8c7a9fa
#if 条件函数 select if (age < 25 or age is null, '25岁以下', '25岁及以上') as age_cut, count(*) as number from user_profile group by age_cut # case 条件函数 select case when age < 25 or age is null then '25岁以下' when age >=25 then '25岁及以上' end as age_cut, count(*) number from user_profile group by age_cut from user_profile group by age_cut
CASE函数
是一种多分支的函数,可以根据条件列表的值返回多个可能的结果表达式中的一个。
可用在任何允许使用表达式的地方,但不能单独作为一个语句执行。
SELECT 班号, COUNT(CASE WHEN 性别=‘男’ THEN ‘男’ END) 男生数, COUNT(CASE WHEN 性别=‘女’ THEN ‘女’ END) 女生数 FROM 学生表 GROUP BY 班号
分为:简单CASE函数搜索CASE函数
CASE 测试表达式 WHEN 简单表达式1 THEN 结果表达式1 WHEN 简单表达式2 THEN 结果表达式2 … WHEN 简单表达式n THEN 结果表达式n [ ELSE 结果表达式n+1 ] END
CASE WHEN 布尔表达式1 THEN 结果表达式1 WHEN 布尔表达式2 THEN 结果表达式2 … WHEN 布尔表达式n THEN 结果表达式n [ ELSE 结果表达式n+1 ] END
SQL学习 文章被收录于专栏
个人学习的一些小总结