题解 | 计算25岁以上和以下的用户数量
计算25岁以上和以下的用户数量
https://www.nowcoder.com/practice/30f9f470390a4a8a8dd3b8e1f8c7a9fa
select
case
when age<25 or age is null then '25岁以下'
else '25岁及以上'
end as age_cut,
count(*) as number
from user_profile
group by age_cut
order by
case
when age_cut='25岁以下' then 1
else 2
end;
【好难——————】
- SELECT 子句:使用 CASE WHEN 语句来判断 age 字段:如果 age 小于25岁或为 NULL,则将其归类为 '25岁以下'。否则,归类为 '25岁及以上'。为划分后的结果命名为 age_cut。使用 COUNT(*) 统计每个年龄段的用户数量,并命名为 number。
- FROM 子句:指定数据来源为 user_profile 表。
- GROUP BY 子句:按照划分后的 age_cut 进行分组,以便统计每个组的用户数量。
- ORDER BY 子句:根据需求,将 '25岁以下' 的结果排在前面,'25岁及以上' 的结果排在后面。通过 CASE WHEN 语句实现自定义排序。
巨人网络成长空间 50人发布
查看29道真题和解析