MySQLでOracleのrownumのような行番号を付加する方法として、Web上でよく見かけるのは以下のようなユーザー変数を使ったSQL文で、2つのSQL文を発行しなければならない。 set @i:=0; select @i:=@i+1 as rownum,user_id from user; しかし、kotori::logで紹介されていた方法を用いれば、1回のSQL文で付加することができる。メモメモ。 select @i:=@i+1 as rownum,user_id from (select @i:=0) as dummy,user; なるほど。サブクエリでユーザー変数を初期化しているのね。 で、ふとorder by節で並び替えた時の挙動が気になったので、早速試してみた。 全部で4つ試していて、始めの2つがテーブルのidカラムで並び替え(昇順、降順)、残りの2つ(3つ目と4つ目)が生
![MySQLでOracleのrownumのような行番号を付加する - エマノンの雑記帳](https://cdn-ak-scissors.b.st-hatena.com/image/square/d5fa64516fdb023f97aabc7b2bbb106ecc83464b/height=288;version=1;width=512/http%3A%2F%2Fthink-x.cocolog-nifty.com%2F.shared-pleasy%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)