SQL
题目
将用户划分为25岁以下和25岁及以上两个年龄段,分别查看这两个年龄段用户数量。
解题
1.首先将年龄划分两类,25岁及以上和25岁以下(age=null计为25岁以下),这里使用if() 函数。
select if(age>=25,'25岁及以上','25岁以下' )as age_cut,device_id
from user_profile
查询结果为age_cut,device_id:

2.再利用一次查询嵌套,将age_cut分组。
select age_cut,count(device_id)as number
from(select if(age>=25,'25岁及以上','25岁以下' )as age_cut,device_idfrom user_profile) u2
group by age_cut
最终查询结果为:

总结
1.需要将原始不同分散的的年龄切成两部分,再在此基础上嵌套查询。