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

Sql 如何从表中选择所有列以及其他列(如ROWNUM)?,sql,oracle,select,Sql,Oracle,Select,在Oracle中,可以执行SELECT语句,将行号作为结果集中的列返回 比如说, SELECT rownum, column1, column2 FROM table 返回: rownum column1 column2 1 Joe Smith 2 Bob Jones rownum column1 column2 column3 column4 1乔·史密斯12 2鲍勃·琼斯3 4 有什

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

比如说,

SELECT rownum, column1, column2 FROM table
返回:

rownum column1 column2 1 Joe Smith 2 Bob Jones rownum column1 column2 column3 column4 1乔·史密斯12 2鲍勃·琼斯3 4
有什么想法吗?

用表格的名称限定*:

select rownum, table.* from table

Dave的答案很好,我想补充一点,也可以将通配符作为第一列:

select *,rownum from table
有效,但以下内容无效:

select rownum,* from table

我已经在MySQL上进行了测试。

不幸的是,我不认为有什么办法可以做到,最简单的方法可能是使用id为count(*)的内联表进行内部连接,并在不使用表名(
table.*
)的情况下使用外部select语句“tested on MySQL”)这在提出此问题的Oracle上不起作用。在Oracle 19c上仍然不起作用,出现错误
ORA-00923:FROM关键字未找到,应在哪里
。不过,公认的答案是可行的。
select *,rownum from table
select rownum,* from table