用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - sql代码库

oracle为相同行记录增加序号列(row_number()函数)

2017-09-18 作者: 举报

[sql]代码库

表结构及测试数据如下:
Sql代码 
CREATE TABLE t_row_str( 
ID INT
col VARCHAR2(10)); 
INSERT INTO t_row_str VALUES(1,'a'); 
INSERT INTO t_row_str VALUES(1,'b'); 
INSERT INTO t_row_str VALUES(1,'c'); 
INSERT INTO t_row_str VALUES(2,'a'); 
INSERT INTO t_row_str VALUES(2,'d'); 
INSERT INTO t_row_str VALUES(2,'e'); 
INSERT INTO t_row_str VALUES(3,'c'); 
COMMIT
SELECT * FROM t_row_str; 
  
测试数据输出结果:
  
结果集代码 
ID COL 
-- ---------- 
 1 a 
 1 b 
 1 c 
 2 a 
 2 d 
 2 e 
 3 c 
  
  
执行如下SQL语句获得想要的结果:
Sql代码 
SELECT id, col, row_number() over(PARTITION BY id ORDER BY col) AS rn 
  FROM t_row_str 
  
输出结果:
结果集代码 
ID COL                RN 
-- ---------- ---------- 
 1 a                   1 
 1 b                   2 
 1 c                   3 
 2 a                   1 
 2 d                   2 
 2 e                   3 
 3 c                   1 


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...