SQL26 计算25岁以上和以下的用户数量

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

本题注意:age为null 也记为 25岁以下

示例:user_profile

SQL26 计算25岁以上和以下的用户数量_第1张图片

根据示例,你的查询应返回以下结果:

 第一种方法:

select  (case when age>=25 then '25岁及以上' else '25岁以下' end) age_cut,
count(device_id) as number from user_profile
group by age_Cut

CASE语句有两种形式:第一种评估一个或多个条件,并返回第一个符合条件的结果。 如果没有条件是符合的,则返回ELSE子句部分的结果,如果没有ELSE部分,则返回NULL:

第二种CASE句法返回第一个value = compare_value比较结果为真的结果。 如果没有比较结果符合,则返回ELSE后的结果,如果没有ELSE部分,则返回NULL:

 第二种方法:

 用IF

select  if(age>=25,"25岁及以上","25岁以下") age_cut,
count(device_id) as number from user_profile
group by age_Cut

第三种方法:

用union all将两个 SQL 语句的结果合并在一起

select '25岁以下' as age_cut,count(device_id) as number
from user_profile
where age<25 or age is null
union all
select '25岁及以上' as age_cut,count(device_id) as number
from user_profile
where age>=25;

你可能感兴趣的:(大数据分析,python,sql)