Select case when sznl between 1 and 20 then ‘20岁及以下’,
When sznl between 21 and 30 then ‘21岁-30岁’,
When sznl between 31 and 40 then ‘31岁-40岁’,
When sznl between 41 and 50 then ‘41岁-50岁’,
When sznl between 51 and 60 then ‘51岁-60岁’,
When sznl between 61 and 70 then ‘61岁-70岁’,
When sznl between 71 and 80 then ‘71岁-80岁’,
When sznl between 81 and 90 then ‘81岁-90岁’,
When sznl between 91 and 100 then ‘91岁-100岁’,
When sznl between 101 and 120 then ‘101岁-120岁’
End
as sznl,
count(discinct aac001) as rs,
count(aac001) as rc
from k_crydj
group by
case when sznl between 1 and 20 then ‘20岁及以下’,
When sznl between 21 and 30 then ‘21岁-30岁’,
When sznl between 31 and 40 then ‘31岁-40岁’,
When sznl between 41 and 50 then ‘41岁-50岁’,
When sznl between 51 and 60 then ‘51岁-60岁’,
When sznl between 61 and 70 then ‘61岁-70岁’,
When sznl between 71 and 80 then ‘71岁-80岁’,
When sznl between 81 and 90 then ‘81岁-90岁’,
When sznl between 91 and 100 then ‘91岁-100岁’,
When sznl between 101 and 120 then ‘101岁-120岁’
End
以上case when语句对吗?若对请给出理由,若错也请给出理由,能举个例子最好!
When sznl between 21 and 30 then ‘21岁-30岁’,
When sznl between 31 and 40 then ‘31岁-40岁’,
When sznl between 41 and 50 then ‘41岁-50岁’,
When sznl between 51 and 60 then ‘51岁-60岁’,
When sznl between 61 and 70 then ‘61岁-70岁’,
When sznl between 71 and 80 then ‘71岁-80岁’,
When sznl between 81 and 90 then ‘81岁-90岁’,
When sznl between 91 and 100 then ‘91岁-100岁’,
When sznl between 101 and 120 then ‘101岁-120岁’
End
as sznl,
count(discinct aac001) as rs,
count(aac001) as rc
from k_crydj
group by
case when sznl between 1 and 20 then ‘20岁及以下’,
When sznl between 21 and 30 then ‘21岁-30岁’,
When sznl between 31 and 40 then ‘31岁-40岁’,
When sznl between 41 and 50 then ‘41岁-50岁’,
When sznl between 51 and 60 then ‘51岁-60岁’,
When sznl between 61 and 70 then ‘61岁-70岁’,
When sznl between 71 and 80 then ‘71岁-80岁’,
When sznl between 81 and 90 then ‘81岁-90岁’,
When sznl between 91 and 100 then ‘91岁-100岁’,
When sznl between 101 and 120 then ‘101岁-120岁’
End
以上case when语句对吗?若对请给出理由,若错也请给出理由,能举个例子最好!
case when tt.b between 1 and 10 then '小于10'
when tt.b between 10 and 20 then '大于10小于20'
when tt.b between 20 and 30 then '大于20小于30'
when tt.b between 30 and 40 then '大于30小于40'
end as dfdsgg
from (
select 1 as ID,'Y' as a,21 as b from dual union all
select 2 as ID,'Y' as a,10 as b from dual union all
select 2 as ID,'' as a,5 as b from dual union all
select 3 as ID,'Y' as a,35 as b from dual
)tt
group by (case when tt.b between 1 and 10 then '小于10'
when tt.b between 10 and 20 then '大于10小于20'
when tt.b between 20 and 30 then '大于20小于30'
when tt.b between 30 and 40 then '大于30小于40'
end);