この記事では、MYSQL がクエリ データの結果を自動的にシリアル化する方法について主に紹介しており、mysql を必要とするすべての人にとって、学習の参考となる価値があります。フォローできます エディターと一緒に見てみましょう。皆さんのお役に立てれば幸いです。
SQL:
SELECT (@i:=@i+1) i,user_id,user_name FROM `dt_user_all_orders`, (SELECT @i:=0) as i WHERE user_name='qqqqqqqqqq' LIMIT 0,10;
結果:
グループ化してシリアル番号を表示する必要がある場合:
SELECT drug_productor,@y:=@y+1 as num FROM( SELECT drug_productor FROM ts_drug a GROUP BY drug_productor) c,(SELECT @y:=0) d
結果:
分析:
最初に変数 i が定義されており、各インクリメントの結果は ➕1, @i:=1;
になります@i:=1;
这里顺带复习下mysql定义用户变量的方式:select @变量名
对用户变量赋值有两种方式,一种是直接用"="号,另一种是用":="号。其区别在于使用set命令对用户变量进行赋值时,两种方式都可以使用;当使用select语句对用户变量进行赋值时,只能使用":="方式,因为在select语句中,"="号被看作是比较操作符
(@i:=@i+1)
也可以写成 @i:=@i+1
,加括号是为了视觉上看这结构更清楚些。在定义好一个变量后每次查询都会给这个变量自增,而我们每次执行查询语句获取结果后就不需要这个变量自增了,所以要把它重置为0,在表名后用逗号分格下使用 (SELECT @i:=0) as i
ここでは, ちなみに、mysqlの定義を見直してください ユーザー変数の方法: @変数名を選択
ユーザー変数に値を代入する方法は2つあり、1つは「=」記号を直接使用する方法、もう1つは使用する方法です。 「:=」記号。違いは、set コマンドを使用してユーザー変数に値を割り当てる場合は両方のメソッドを使用できますが、select ステートメントを使用してユーザー変数に値を割り当てる場合は、「:=」メソッドのみを使用できることです。 select ステートメント内の「=」記号は比較演算子とみなされます
(@i:=@i+1)
@i:=@i としても記述できます+1
を追加する理由は、構造が視覚的に明確になるためです。変数を定義した後、各クエリでは変数がインクリメントされますが、結果を取得するためにクエリ ステートメントを実行するたびにこの変数をインクリメントする必要はないため、変数を 0 にリセットし、テーブル名の後にカンマを使用する必要があります。グリッドの下で (SELECT @i:=0) as i
を使用するだけです。これは、派生テーブルにエイリアスが必要なためです。任意の文字を指定できます。
🎜🎜php はメモリシーケンス番号の読み取りを実装します_PHP チュートリアル🎜🎜🎜🎜MySQL 行番号 SQL は自己増加するシーケンス番号を生成します 使用法の概要🎜🎜以上がMYSQL がクエリ データの結果を自動的にシリアル化する方法に関するチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。