题解 | 计算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 语句实现自定义排序。
 
海康威视公司福利 1139人发布