- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mysqlのクエリについて
)
MySQLクエリでテーブルの更新方法について
このQ&Aのポイント
- MySQLのバージョンが4.0のため、副問い合わせは利用できません。テーブルの更新方法を教えてください。
- 以下のようなテーブルとデータがあります。 i | group | no 1 | test1 | NULL 2 | test1 | NULL 3 | test2 | NULL 4 | test2 | NULL 5 | test2 | NULL 6 | test2 | NULL 7 | test3 | NULL 8 | test4 | NULL テーブルを更新して以下のようにしたいです。 i | group | no 1 | test1 | 1 2 | test1 | 2 3 | test2 | 1 4 | test2 | 2 5 | test2 | 3 6 | test2 | 4 7 | test3 | 1 8 | test4 | 1 どのようなクエリを使えば良いでしょうか?
- MySQLのバージョンが4.0のため、副問い合わせは使えません。テーブルのデータを更新する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
groupは予約語なのでフィールド名に使うのはやめた方がいいですね まぁこういうインチキくさいのは得意なので、こうするといいでしょう。 set @pre="",@rank=1; create temporary table temp select i,@rank:=if(@pre=`group`,@rank+1,1) as no,@pre:=`group` as `group` from a_table order by no; replace a_table select i,`group`,no from temp 結局、mysqlのバージョンをあげるのが最良ということがわかると 思いますけど・・・
お礼
yambejp様 助かりました。 いつも回答ありがとうございます。