题目描述
题目:现在运营想要将用户划分为20岁以下,20-24岁,25岁及以上三个年龄段,分别查看不同年龄段用户的明细情况,请取出相应数据。(注:若年龄为空请返回其他。)
示例:user_profile
| id | device_id | gender | age | university | gpa | active_days_within_30 | question_cnt | answer_cnt | 
| 1 | 2138 | male | 21 | 北京大学 | 3.4 | 7 | 2 | 12 | 
| 2 | 3214 | male | 复旦大学 | 4 | 15 | 5 | 25 | |
| 3 | 6543 | female | 20 | 北京大学 | 3.2 | 12 | 3 | 30 | 
| 4 | 2315 | female | 23 | 浙江大学 | 3.6 | 5 | 1 | 2 | 
| 5 | 5432 | male | 25 | 山东大学 | 3.8 | 20 | 15 | 70 | 
| 6 | 2131 | male | 28 | 山东大学 | 3.3 | 15 | 7 | 13 | 
| 7 | 4321 | male | 26 | 复旦大学 | 3.6 | 9 | 6 | 52 | 
根据示例,你的查询应返回以下结果:
| device_id | gender | age_cut | 
| 2138 | male | 20-24岁 | 
| 3214 | male | 其他 | 
| 6543 | female | 20-24岁 | 
| 2315 | female | 20-24岁 | 
| 5432 | male | 25岁及以上 | 
| 2131 | male | 25岁及以上 | 
| 4321 | male | 25岁及以上 | 
分析思路
难点:
1.如何根据条件输出内容
一个条件2个结果可以使用if、case when;多个条件多个结果可以使用case when,还有if嵌套
(1)分别查看这两个年龄段用户数量
[使用]:if()或者case when;group by
求解代码
方法一
条件函数:if()
| 1 2 3 4 5 6 7 | 
 
 
 
 
 
 
 | 
方法二
条件函数:case when
| 1 2 3 4 5 6 7 8 9 10 | 
 
 
 
 
 
 
 
 
 
 |