2010-10-22 35 views
39

在Oracle中,可以執行SELECT語句,該語句將行號作爲結果集中的列返回。如何從表中選擇所有列以及ROWNUM等其他列?

例如,

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 

任何想法?

+1

我已經改變了問題標題,希望你不要介意,以更準確地反映你之後的實際情況。 – 2010-10-25 03:58:21

回答

71

資格用表的名字*:

select rownum, table.* from table 
0

Dave的答案是偉大的,我只是想補充一點,它也可以做到這一點通過將通配符作爲第一列:

select *,rownum from table 

作品,但下面不會:

select rownum,* from table 

我在MySQL上進行測試。

+8

「*在MySQL *上測試過」 - 不使用表名('table。*'),這對在此問題上詢問的Oracle無效。 – 2014-11-22 17:20:15

+0

無法在DB2上工作 – Ruslan 2017-03-20 14:44:01

-2

Unfortuantely,我不認爲therei SA辦法做到這一點,最簡單的可能是內部聯接與本身ID的內嵌表,COUNT(*),並把外部的select語句

相關問題