MySql--牛客习题

题目:现在运营想要将用户划分为25岁以下和25岁及以上两个年龄段,分别查看这两个年龄段用户数量
本题注意:age为null 也记为 25岁以下

示例:user_profile
MySql--牛客习题_第1张图片

根据示例,你的查询应返回以下结果:
在这里插入图片描述

题解:
第一次见到这种题目,可以通过嵌套if语句进行解决:

Select
if(age>=25,'25岁及以上','25岁以下' ) as age_cut,
count(device_id) as number
From user_profile
Group by age_cut;

# 考虑到效率问题
# 先对表进行筛选后再group by效率更高
select age_cut,count(device_id)as number 
from(Select if(age>=25,'25岁及以上','25岁以下' )as age_cut,device_id 
From user_profile)u2
Group by age_cut



你可能感兴趣的:(MySql,mysql,数据库,database)