PostgreSQLでSELECTの出力に連番を付ける方法 †
SELECTした結果に対して先頭などに連番を付けたい場合は、以下のようにSQLを発行することにより実現できます。
関連資料 †
SELECTの結果に連番を付ける †
以下にPostgreSQLでSELECT結果に連番をつける方法を記します。
尚、Window関数を使用するのでバージョン8.4以上のバージョンで以下の例が実行可能です。
- テスト用のテーブルを作成
db1=# create table t1 (a int, b int, c int);
CREATE TABLE
- 3行データをインサート
db1=# insert into t1 values(1,10,100),(2,20,200),(3,30,300);
INSERT 0 3
- 以下のSQLを実行しSELECT結果に連番を付与しています
db1=# select row_number() over(), * from t1;
row_number | a | b | c
------------+---+----+-----
1 | 1 | 10 | 100
2 | 2 | 20 | 200
3 | 3 | 30 | 300
(3 行)
- 以下のSQLでrow_numberを別名noにしています
db1=# select row_number() over() as no, * from t1;
no | a | b | c
----+---+----+-----
1 | 1 | 10 | 100
2 | 2 | 20 | 200
3 | 3 | 30 | 300
(3 行)