環境はMySQL8.0.21です。
以下のように、if文内で、2つの代入式を実行させたいのですが、エラーとなります。
@y:=@y+1; @x:=1
区切りのセミコロンをandにしたり全体をカッコにいれてみたりしましたが、うまくいきません。
全体の作業としては既存のplaceテーブルがあり、そのzカラムの値が直前のレコードから変化している場合は、
@y:=@y+1; @x:=1
を実行、そうではない場合は以下を実行します。
@x:=@x+1
記載していませんが、ここで得られたSELECT文をもとに新テーブルを作成しようと思っています。
以下SQL文です。
sql
1set @x:=0; 2set @y:=1; 3set @z:=null; 4 5select 6 if(@z!=place.z, (@y:=@y+1; @x:=1), @x:=@x+1), 7 @x, 8 @y, 9 @z:=place.z 10from place;
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー