ホームページ  >  記事  >  データベース  >  mysqlでクエリにシリアル番号を追加する方法

mysqlでクエリにシリアル番号を追加する方法

WBOY
WBOYオリジナル
2022-03-09 15:33:5125570ブラウズ

mysql では、SELECT ステートメントを使用してユーザー変数を定義し、クエリ結果にシリアル番号を追加できます。構文は「SELECT フィールド 1, フィールド 2, (@i:=@i 1) AS '」です。シリアル番号' FROM テーブル名、(SELECT @i:=0) AS itable;"。

mysqlでクエリにシリアル番号を追加する方法

このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。

mysql のクエリにシリアル番号を追加する方法

一般的な解決策は、ユーザー変数を定義してシリアル番号を生成することです

例: データベースに Student テーブルがあるとします

テーブルにはフィールドがあります: sid、sname、gender、age

テーブル内のデータをクエリし、シリアル番号を追加します。対応する SQL は次のとおりです:

SELECT sid,sname,gender,age,(@i:=@i+1) AS '序号' 
FROM student,(SELECT @i:=0) AS itable;

または

SET @i=0;
SELECT sid,sname,gender,age,@i:=@i+1 AS '序号' 
FROM student;

クエリ結果は次の図に示されています:

mysqlでクエリにシリアル番号を追加する方法

説明:

1, (@i:= @i 1) は @i: =@i 1 と書くこともできます。見やすくするために括弧が追加されています。

意味は次のとおりです: 変数 i に 1 を加算し、変数 i に代入します。変数を定義した後、クエリを実行するたびに変数がインクリメントされます。この変数はクエリ ステートメントを実行するたびに必要ではありません

2, (SELECT @i:=0) AS itable を追加し、ユーザー変数 i を定義し、初期値を 0 に設定し、それを派生テーブルとして使用します。AS はエイリアスを定義しますテーブルの。

3. @i=0 を設定します。ユーザー変数 i を定義し、初期値を 0 に割り当てます。

関連知識ポイント:

1. MySQL によるユーザー変数の定義方法: @変数名を選択します。上記の SQL ステートメントでは、変数の名前が変数 はい i

2. ユーザー変数の割り当て: 1 つは「=」記号を直接使用する方法、もう 1 つは「:=」記号を使用する方法です。

= と :=:

set コマンドを使用してユーザー変数に値を割り当てる場合、どちらの方法も使用できます。

つまり、SET @変数名=xxx または SET @変数名:=xxx

select ステートメントを使用してユーザー変数に値を割り当てる場合は、「:=」メソッドのみを使用できます。これは、select ステートメントでは、 「=」記号は比較演算子とみなされます。つまり、 SELECT @変数名:=xxx

①: ユーザー変数

②: 派生テーブル

③: AS 設定エイリアス

が記述されていますOracle はい:

SELECT "sid","sname","gender","age",
ROW_NUMBER() over(order by "sid") AS "序号"
FROM "user";

推奨学習: mysql ビデオ チュートリアル

以上がmysqlでクエリにシリアル番号を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。