在Oracle中,可以执行SELECT
语句,该语句将行号作为结果集中的列返回。
例如,
SELECT rownum, column1, column2 FROM table
返回:
rownum column1 column2 1 Joe Smith 2 Bob Jones
但我不想手动指定每一栏。我想做点什么:
select rownum,* from table
rownum column1 column2 column3 column4 1 Joe Smith 1 2 2 Bob Jones 3 4
有什么想法吗?
答案 0 :(得分:101)
使用表格的名称限定*:
select rownum, table.* from table
答案 1 :(得分:3)
戴夫的答案很棒,我只想补充说,通过将通配符作为第一列也可以做到这一点:
select *,rownum from table
有效,但以下情况不会:
select rownum,* from table
我在MySQL上测试过。
答案 2 :(得分:0)
Dave 的回答在 Oracle 11g(表.* 没有别名)上对我不起作用。以下工作:
select rownum, t.* from table t
答案 3 :(得分:-4)
Unfortuantely, i dont think therei s a way to do it, easiest is probably inner join with itself with an inline table of id,count(*), and put an outer select statement