如何从表中选择所有列,以及 ROWNUM 等附加列?

2021-12-06 00:00:00 sql select oracle

在 Oracle 中,可以执行 SELECT 语句,将行号作为结果集中的列返回.

例如

SELECT rownum, column1, column2 FROM table

返回:

<前>rownum column1 column21 乔·史密斯2 鲍勃·琼斯

但我不想手动指定每一列.我想做类似的事情:

select rownum,* from table

<前>rownum column1 column2 column3 column41 乔·史密斯 1 22 鲍勃·琼斯 3 4

有什么想法吗?

解决方案

用表名来限定*:

select rownum, table.* from table

In Oracle, it's possible to do a SELECT statement that returns the row number as a column in your result set.

For example,

SELECT rownum, column1, column2 FROM table

returns:

rownum       column1       column2
1            Joe           Smith
2            Bob           Jones

But I don't want to specify each column by hand. I want to do something like:

select rownum,* from table

rownum       column1       column2       column3       column4
1            Joe           Smith         1             2
2            Bob           Jones         3             4

Any ideas?

解决方案

Qualify the * with the name of the table:

select rownum, table.* from table

相关文章