题解 | #计算25岁以上和以下的用户数量#
计算25岁以上和以下的用户数量
https://www.nowcoder.com/practice/30f9f470390a4a8a8dd3b8e1f8c7a9fa
select case when age >= 25 then '25岁及以上' else '25岁以下'end as age_cut, count(*) as number from user_profile group by 1 #方法二 SELECT "25岁以下" as age_cut,count(*) FROM user_profile WHERE age IS null or age<25 UNION ALL SELECT "25岁及以上" as age_cut,count(*) FROM user_profile WHERE age>=25
本题根据年龄条件判断,选择对应的类别并计数
方法一:case when
这里有个问题,case when 和group by 的执行顺序是怎样的?还有看到有些题解的Group by后面可以直接用别名age_cut是为什么?
方法二:union all
分别筛选出相应条件的数据,再Union all合并