select (case when age>=25 then '25岁及以上' when age>=0 and age<25 or age is NULL then '25岁以下' end ) as age_cut, count(*) as number from `user_profile` group by age_cut
select up.age_cut,count(*) as number from ( select (case when age>=25 then '25岁及以上' when age>=0 and age<25 or age is NULL then '25岁以下' end ) as age_cut from `user_profile` ) as up group by up.age_cut
条件表达式
case
when condition then result1 else result2
end
可与聚合函数使用,实现更加复杂的统计功能: