【MySQL】ユーザー変数を使ってSELECTに行番号を付加する方法

MySQL ではユーザー変数を定義しそれを SELECT 文のなかで使えます。
以下のSQLの実行は行番号を付加する例です。
SET命令でユーザー変数 @NUM を宣言し、その変数を SELECT で使用しています。

結果表示を見れば、行番号として値が表示されていることが分かります。

SET命令と SELECT文の2行が少し気になるので、 調べてみたら以下の様に、SET命令の部分をダミーのテーブルでの宣言として一体化できます。

GROUP BYORDER BY 句を行った場合にも行番号は付加できる様です。

但し、ユーザ変数の計算部分の処理が1行毎最初に処理される様に思いますが、 クエリー結果でその処理順番が保障されるとも限りません。 この辺りは、個々の場合で調べる必要があります。

楽天市場

■関連記事
【MySQL】ダミーテーブルをUNIONで連結してコード表を作成する方法
【MySQL】ユーザー変数を使ってSELECTに行番号を付加する方法
【MySQL】カラム名を囲むバッククオートについて
【MySQL】UNIONMINUSが無いので、代わりにNOTEXISTSを使う方法について
【MySQL】ユーザ変数を使って連番や、連続日付を取得する方法について

コメント(0)