查询各个年龄段的人数的SQL语句

猫头鹰之眼 2008-11-29 11:13:43
已知表name_age如下:
create table name_age(name varchar2(20) not null primary key,age integer);
问题:查询出各年龄段的人数
1.显示如下
10-19 5
20-29 7
30-39 2
. .
. .
. .
2.显示如下
10-19 20-29 30-39 ...
5 7 2 ...

3.显示如下
11-20 5
21-30 7
31-40 2
. .
. .
. .
...全文
2055 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
frankyuJava 2008-12-01
  • 打赏
  • 举报
回复
学习,佩服。
oracle需要很多去掌握啊。
顶。


事实证明现查书的做法是要不得的。还是要熟记。
nnd,要不面试的时候怎么作答啊。
cosio 2008-12-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xth6314 的回复:]
第二个不行啊,而且题目要求就只能用一个sql语句
[/Quote]
select 是子查询,当然是可以了!也是一句SQL!
猫头鹰之眼 2008-11-30
  • 打赏
  • 举报
回复
第二个不行啊,而且题目要求就只能用一个sql语句
jackchen_007 2008-11-30
  • 打赏
  • 举报
回复
顶一下!
hebo2005 2008-11-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xth6314 的回复:]
第二个不行啊,而且题目要求就只能用一个sql语句
[/Quote]
你不会是直接复制过去运行的吧,这只是给你一个思路

另外这里三道题,怎么用一句SQL写出来?
hebo2005 2008-11-29
  • 打赏
  • 举报
回复
1,select decode(trunc(age/10),0,'0-10',1,'10-19',....),count(*) num
from name_age
group by trunc(age/10)

2,
select sum(decode(trunc(age/10),0,1,0)) '0-9',select sum(decode(trunc(age/10),1,,1,0)) '10-19',
.....
from name_age


3,select decode(trunc((age-1)/10),0,'0-10',1,'11-20',....),count(*) num
from name_age
group by trunc((age-1)/10)

3,491

社区成员

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

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