MySQLの中で、row_numberの使い方は何ですか?
MySQLには組み込みのROW_NUMBER関数はありませんが、変数を使用して同様の機能を実現することができます。
もし、次のサンプルテーブルがあると仮定したら:
+----+-------+
| id | name |
+----+-------+
| 1 | John |
| 2 | Alice |
| 3 | Bob |
+----+-------+
各行に増加する行番号を追加したい場合、変数を使用することができます。
SELECT @row_number:=@row_number+1 AS row_number, id, name
FROM table_name, (SELECT @row_number:=0) AS t
ORDER BY id;
これは、次の結果を返します:
+------------+----+-------+
| row_number | id | name |
+------------+----+-------+
| 1 | 1 | John |
| 2 | 2 | Alice |
| 3 | 3 | Bob |
+------------+----+-------+
上記のクエリでは、変数@row_numberを使用し、SELECT文でその値を増やしました。そして、新しい列”row_number”として返しました。また、変数の値を0で初期化するために、サブクエリ(SELECT @row_number:=0) AS tも使用しました。
このようにすると、各行に递增する行番号を追加できます。