web-dev-qa-db-ja.com

テーブルからすべての列と、ROWNUMなどの追加の列を選択するにはどうすればよいですか?

Oracleでは、行番号を結果セットの列として返すSELECTステートメントを実行できます。

例えば、

SELECT rownum, column1, column2 FROM table

戻り値:

ロウナムcolumn1column2
 1ジョー・スミス
 2ボブ・ジョーンズ

ただし、各列を手動で指定するのは望ましくありません。私は次のようなことをしたい:

select rownum,* from table
ロウナムcolumn1column2column3column4
 1ジョースミス1 2 
 2ボブジョーンズ3 4 

何か案は?

58
ntsue

*をテーブルの名前で修飾します。

select rownum, table.* from table
105
Dave Costa

Daveの答えは素晴らしいです。ワイルドカードを最初の列として配置することでも可能です。

select *,rownum from table

動作しますが、以下は動作しません:

select rownum,* from table

MySQLでテストしました。

2
gaborous