1. ホーム
  2. sql-server

[解決済み] セレクトクエリで自動インクリメントフィールドを生成する方法

2022-03-13 15:52:31

質問

例えば、2つのカラムを持つテーブルがあります。 first_namelast_name を以下の値で指定します。

Ali           Khani
Elizabette    Amini
Britney       Spears
,...

を書きたいのですが select クエリを実行すると、次のようなテーブルが生成されます。

1     Ali           Khani
2     Elizabette    Amini
3     Britney       Spears
,...

ご協力ありがとうございました。

どのように解決するのですか?

MySqlの場合、次のことを試してみてください。

SELECT @n := @n + 1 n,
       first_name, 
       last_name
  FROM table1, (SELECT @n := 0) m
 ORDER BY first_name, last_name

SQLFiddle

そしてSQLServerの場合

SELECT row_number() OVER (ORDER BY first_name, last_name) n,
       first_name, 
       last_name 
  FROM table1 

SQLFiddle