我想用一条sql实现,下边的功能:create table test_age(
id number(2),
age number(6));
insert into test_age
values(1, 25);
insert into test_age
values(2, 30);
insert into test_age
values(3, 45);
insert into test_age
values(4, 50);
希望的得到的查询结果是:年龄段 人数
-------- -------
20-30 2
31-40 1
41-50 2
id number(2),
age number(6));
insert into test_age
values(1, 25);
insert into test_age
values(2, 30);
insert into test_age
values(3, 45);
insert into test_age
values(4, 50);
希望的得到的查询结果是:年龄段 人数
-------- -------
20-30 2
31-40 1
41-50 2
COUNT(*)
FROM test_age
GROUP BY CASE WHEN age BETWEEN 20 AND 30 THEN '20-30' WHEN age BETWEEN 31 AND 40 THEN '31-40' WHEN age BETWEEN 41 AND 50 THEN '41-50' END
/
TRUNC((AGE-1)/10),
1,'20-30',
2,'20-30',
3,'31-40',
4,'41-50'
),COUNT(*)
FROM TEST_AGE
GROUP BY DECODE(
TRUNC((AGE-1)/10),
1,'20-30',
2,'20-30',
3,'31-40',
4,'41-50'
);
good study.....