SQL26 计算25岁以上和以下的用户数量 if函数 或者 case条件 或者 联合表

牛客网打卡 : 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 新列名
上一篇:两个变量组合判空,idea智能提示Condition ‘b == null‘ is always ‘true‘ when reached


下一篇:Android Framework | 消息机制的冷门知识点,你能答出来几个?