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も使用しました。

このようにすると、各行に递增する行番号を追加できます。

bannerAds