牛客网打卡 : SQL26 计算25岁以上和以下的用户数量
select '25岁以下',count(device_id) number from user_profile where age<25 or age is null
union all
select '25岁及以上',count(device_id) number from user_profile where age>=25
使用联合表固然可以,但是还是属于麻烦
使用if函数,或者是使用case when end进行组合
select
if(age>=25,'25岁及以上','25岁以下') as age_cut,
count(device_id) number
from user_profile group by age_cut
使用case when end
select
(case
when age>=25 then '25岁及以上'
else '25岁以下'
end) as age_cut,
count(device_id) from user_profile
group by age_cut
if函数学习
if(条件,结果,反面结果) (可选,as 列名)
case when end 学习
使用case关键字进行声明:
case
when 条件 then 结果
else 反面结果
end
可选,as 新列名