一、条件函数
if 条件函数
if函数是最常用到的条件函数,其写法是if(x=n,a,b), x=n代表判断条件,如果x=n时,那么结果返回a ,否则返回b。
select
if(age < 25 or age is null, '25岁以下', '25岁以上') as age_cnt,
count(1) as number
from table1
group by age_cnt;
case when
case when 与if的作用基本相同,也是按照条件更换列中的内容,区别是case when 可以对 多个条件进行转换,需要注意的是:结尾需要加end作为结束标志
case 测试表达式
when 简单表达式1 then 结果表达式1
when 简单表达式2 then 结果表达式2
.......
when 健达表达式n then 结果表达式n
[else 结果表达式 n+1]
end
--举例:
select case when age <25 or age is null then '25岁以下'
else '25岁及以上'
end as age_cnt,
count(1) as number
from table1
group by age_cnt;
-- 举例:
select device_id,
gender,
case when age<20 then '20岁以下'
when age>=20 and age<=24 then '20-24岁'