在oracle sql视图中显示结果集中的行号列

时间:2015-03-24 13:40:49

标签: sql oracle11g

我想添加一个额外的列,所以如果我得到,请说,结果中的4行此列将具有值1,2,3,4。

我已尝试过ROWNUM,但由于这是一个视图,它会在整个视图中显示实际的行号,而这不是我想要的。

以下是示例模式:

CREATE TABLE TEST (RID NUMBER, RVAL VARCHAR2(100 BYTE));
INSERT INTO TEST (RID, RVAL) VALUES (1, 'ONE');
INSERT INTO TEST (RID, RVAL) VALUES (2, 'TWO');
INSERT INTO TEST (RID, RVAL) VALUES (3, 'THREE');
INSERT INTO TEST (RID, RVAL) VALUES (4, 'FOUR');

CREATE OR REPLACE VIEW VTEST AS 
SELECT ROWNUM AS NUMROW, RID, RVAL FROM TEST;

以下是两个示例查询。第一个显示我想要的结果。第二个我想要的方法(对视图进行简单的选择)

SELECT ROWNUM,RID,RVAL FROM TEST WHERE RID = 3 OR RID = 4;    
SELECT * FROM VTEST WHERE RID = 3 OR RID = 4;

这是小提琴:http://sqlfiddle.com/#!4/4e816/3

1 个答案:

答案 0 :(得分:1)

oracle中的

使用 ROW_NUMBER oracle docs