mysql:9362
From: seiji takegata <seiji takegata <takegata@xxxxxxxxxx>>
Date: Fri, 14 May 2004 03:54:33 +0900
Subject: [mysql 09362] Re: 何行目か知りたいとき
竹形です。またもや自己レスです。 > ある行が、selectされた行の中の何行目にあたるかを変数(または関数?) > で取得して、それをUPDATE文で使えればいいと思うことがよくあるのです > が、該当する機能がなかなか見つけられません。 > > たとえば、こんなデータがあって > mysql> select id,display_order,category from test where category=8; > +----+---------------+----------+ > | id | display_order | category | > +----+---------------+----------+ > | 56 | NULL | 8 | > | 58 | NULL | 8 | > | 59 | NULL | 8 | > | 60 | NULL | 8 | > +----+---------------+----------+ > > こんなふうにしたいのですが、 > > +----+---------------+----------+ > | id | display_order | category | > +----+---------------+----------+ > | 56 | 1 | 8 | > | 58 | 2 | 8 | > | 59 | 3 | 8 | > | 60 | 4 | 8 | > +----+---------------+----------+ > > こういう場合はどうしたらいいんでしょう? > mysql> set @a:=0;update topic set display_order = @a:=@a+1 where category=8; で、できました。 oracleにはROWNUMってのがあるんですねぇ。 -- seiji takegata takegata@xxxxxxxxxx
9361 2004-05-14 03:13 [seiji takegata <take] 何行目か知りたいとき -> 9362 2004-05-14 03:54 ┗[seiji takegata <take]