首先是case的写法,就是case when 条件1 then 值1 …… end
SELECT
case
when age < 25 or isnull(age) then '25岁以下'
when age >= 25 then '25岁及以上'
end age_cut,
count(*) number
FROM
user_profile
GROUP BY
age_cut;
然后就是if的写法,就是if(条件,‘为真则是此值’,‘为假则是此值’),相对于上边这个少了一个null值的判断,因为这是分为两类,所以就可以这样直接写另一类忽视判断
SELECT
if (age >= 25, '25岁及以上','25岁以下') age_cut,
count(*) number
FROM
user_profile
GROUP BY
age_cut;