如何从表中选择所有列以及ROWNUM等其他列?

时间:2010-10-22 17:43:35

标签: sql oracle select

在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

有什么想法吗?

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