题目
-
题目:现在运营想要将用户划分为25岁以下和25岁及以上两个年龄段,分别查看这两个年龄段用户数量
本题注意:age为null 也记为 25岁以下。示例数据如下:
示例数据.JPG
查询返回结果.JPG
分析
- 这个问题首先要根据user_profile中的age,将学生划分为25岁以下及以上,之后使用count(*)函数进行总量统计:
# step1:将学生划分为25岁以下及以上
select
device_id,gender,age,gpa
from
user_profile
where
university = "山东大学" or gender = "male"
运行结果:
- 可以看到user_profile中age一列被替换为“25岁以下及以上”。需要根据“25岁以下及以上”使用group by语句进行分组并计数,代码如下:
SELECT CASE WHEN age < 25 OR age IS NULL THEN '25岁以下'
WHEN age >= 25 THEN '25岁及以上'
END age_cut,COUNT(*)number
FROM user_profile
GROUP BY age_cut
网友评论