3,491
社区成员
发帖
与我相关
我的任务
分享
create table tmp_zt_test1(id number(4),age number(3));
insert into tmp_zt_test1 values(1,13);
insert into tmp_zt_test1 values(2,23);
insert into tmp_zt_test1 values(3,20);
insert into tmp_zt_test1 values(4,16);
insert into tmp_zt_test1 values(5,17);
insert into tmp_zt_test1 values(6,24);
insert into tmp_zt_test1 values(7,11);
insert into tmp_zt_test1 values(8,18);
insert into tmp_zt_test1 values(9,33);
select '<= 16' a,count(1)
from tmp_zt_test1 t
where t.age <= 16
union
select to_char(t.age) a,count(1)
from tmp_zt_test1 t
group by t.age
having t.age between 17 and 20
union
select '>= 21' a,count(1)
from tmp_zt_test1 t
where t.age >= 21
order by a