请教Oracle开卷考试题..关于row_number() over

小杨在路上 2009-11-29 11:17:53
1、oracle数据库的row_number() over (partition by col1 order by col2)
函数作用为:根据col1分组,在分组内部根据 col2排序
而这个值就表示每组内部排序后的顺序编号(组内连续的唯一的)
表内容如下:
name | seqno | description
A | 1 | test
B | 2 | test
C | 3 | test
A | 4 | test
B | 1 | test
A | 2 | test
B | 3 | test
C | 4 | test
C | 1 | test
C | 2 | test
A | 3 | test
B | 4 | test

语句select name, seqno, description, row_number() over(partition by name order by seqno) id from table_1的执行结果为:
name | seqno | description | id
A | 1 | test | 1
A | 2 | test | 2
A | 3 | test | 3
A | 4 | test | 4
B | 1 | test | 1
B | 2 | test | 2
B | 3 | test | 3
B | 4 | test | 4
C | 1 | test | 1
C | 2 | test | 2
C | 3 | test | 3
C | 4 | test | 4

请书写一个sql语句(要求包含row_number()函数,并且每一个select关键字后的查询内容中都要包含name,seqno,description三个字段,如:select name,seqno*seqno, name||description from dual),执行结果为:
A | 1 | 2 | te
B | 2 | 1 | et
C | 0 | 0 | se


create table a_yangmm_1128
(Sname varchar2(10),
Snumber number,
Stxt varchar2(10)
)

insert into a_yangmm_1128 values('A',1,'test');
insert into a_yangmm_1128 values('B',2,'test');
insert into a_yangmm_1128 values('C',3,'test');
insert into a_yangmm_1128 values('A',4,'test');
insert into a_yangmm_1128 values('B',1,'test');
insert into a_yangmm_1128 values('A',2,'test');
insert into a_yangmm_1128 values('B',3,'test');
insert into a_yangmm_1128 values('C',4,'test');
insert into a_yangmm_1128 values('C',1,'test');
insert into a_yangmm_1128 values('C',2,'test');
insert into a_yangmm_1128 values('A',3,'test');
insert into a_yangmm_1128 values('B',4,'test');

学习了一阵子SQL感觉到了它的博大精深啊...
但是这个语句让我写还真困难啊.
两点疑问..
一点它的ID怎们取到的0 还有后面的字符串截取的优点怪异.....
小弟洗耳恭听大侠们的指教..
...全文
179 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiang200813 2009-12-02
  • 打赏
  • 举报
回复
没看懂,结果好像的不出来吧
liusong_china 2009-11-30
  • 打赏
  • 举报
回复
结果看得莫名其妙
hebo2005 2009-11-29
  • 打赏
  • 举报
回复
A | 1 | 2 | te
B | 2 | 1 | et
C | 0 | 0 | se
这个结果看得莫名其妙
小灰狼W 2009-11-29
  • 打赏
  • 举报
回复
描述有点混乱..看不懂
palm_civet 2009-11-29
  • 打赏
  • 举报
回复
不解,顶
yubin88 2009-11-29
  • 打赏
  • 举报
回复
不明白
小杨在路上 2009-11-29
  • 打赏
  • 举报
回复
回复各位..
题就是这样出的..
我也看不怎么明白..
Blaider 2009-11-29
  • 打赏
  • 举报
回复
是不是描述错了,看着确实乱。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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