题意明确:
将用户划分为20岁以下,20-24岁,25岁及以上三个年龄段,分别查看不同年龄段用户的明细情况,年龄为空输出为其他
问题分解:
- 限定条件:无;
- 划分年龄段:数值条件判断,可以用多重if,不过更方便的是用
case when [expr] then [result1]...else [default] end
- 附:case when用法
细节问题:
- 表头重命名:as
- 输出的段明文在题目描述和输出示例中不一致,以输出示例为准
完整代码:
select
device_id,
gender,
case
when age>=25 then '25岁及以上'
when age>=20 then '20-24岁'
when age<20 then '20岁以下'
else '其他'
end as age_cut
from user_profile