拜托!!!帮帮忙!!!

rpljava 2005-12-27 05:37:46
我想用一条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
...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangzk0206 2006-01-14
  • 打赏
  • 举报
回复
up
good study.....
boydgmx 2005-12-28
  • 打赏
  • 举报
回复
CASE WHEN 条件 THEN 值 [WHEN 条件 THEN 值] [ELSE 值] END
luoshi1982 2005-12-27
  • 打赏
  • 举报
回复
boydgmx(梦霄) 大蝦,居然還能寫case語句,能介紹一下類似的例子麼?不勝感激!
boydgmx 2005-12-27
  • 打赏
  • 举报
回复
我给你的方法一种是CASE 一种是DECDOE,这就是常用的两种了,仔细看看吧
boydgmx 2005-12-27
  • 打赏
  • 举报
回复
SELECT DECODE(
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'
);
boydgmx 2005-12-27
  • 打赏
  • 举报
回复
SELECT 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,
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
/

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧