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='qqqqqqqqqqqq' 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;

ここで、MySQLがユーザー変数を定義する方法を確認します: select @ 変数名

ユーザー変数に値を割り当てる方法は 2 つあります。1 つは「=」記号を直接使用し、もう 1 つは「:=」記号を使用する方法です。違いは、set コマンドを使用してユーザー変数に値を割り当てる場合は、両方の方法を使用できることです。一方、select ステートメントを使用してユーザー変数に値を割り当てる場合は、「:=」メソッドのみを使用できます。これは、select ステートメントでは、「=」記号が比較演算子と見なされるためです。

(@i:=@i+1) @i:=@i+1と書くこともできます。構造を視覚的にわかりやすくするために、括弧が追加されています。変数を定義すると、クエリごとに変数が増分されます。ただし、結果を取得するためにクエリ ステートメントを実行するたびに変数を増分する必要はないため、変数を 0 にリセットする必要があります。テーブル名の後にカンマを付けて(SELECT @i:=0) as i使用できます。このように as i を使用する理由は、派生テーブルにエイリアスが必要であるためです。これはエイリアスであり、任意の文字を使用できます。

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • MySQL でデータをクエリし、条件に基づいて別のテーブルに更新する方法の例
  • Python を使用して MySQL クエリ データをファイルにエクスポートする方法
  • MySQL ユニオン マージ クエリ データとテーブル エイリアスおよびフィールド エイリアスの使用状況の分析
  • JavaはMySQLデータベースユニットテストクエリデータに接続するサンプルコードを実装します
  • PHP の基本: MySQL データベースへの接続とデータのクエリ
  • mysql クエリ データベース ストアド プロシージャと関数ステートメント
  • MySQL ランダムクエリデータとランダム更新データの実装コード
  • MySQLクエリデータを時間別に表示します。データがない場合は0を入力してください。

<<:  jsはシンプルなショッピングカートモジュールを実装します

>>:  Tomcat でタイムアウトしたセッションを監視および削除する方法

推薦する

PID を作成できないために MySQL が起動できない問題を解決する方法

問題の説明MySQL 起動エラー メッセージは次のとおりです。 mysqld を起動します (sys...

HTML テーブルの使い方 (Web ページの視覚効果を表示する)

NetEase Blog で HTML を使用する場合、テンプレートに直接コードを追加できることは...

実用的な情報が満載のJavaScript Webフォーム機能通信

1. はじめに先ほど、フロントエンドの表示の問題について説明しました。では、前のコンテンツに戻って、...

SQL と MySQL のステートメント実行順序の分析

今日、問題が発生しました: MySQL の insert into、update、delete ステ...

JavaScriptクロージャの原理と機能の詳細な説明

目次導入クロージャの使用カレー作りパブリック変数の実装キャッシュカプセル化(属性のプライベート化)閉...

Vue3におけるキーの役割と動作原理についての簡単な説明

このキー属性の機能は何ですか?まずは公式の説明を見てみましょう。 kekey 属性は主に、新しいノー...

共通要素のデフォルトのマージンとパディング値に関する議論

今日は、さまざまなブラウザでのデフォルト要素のマージン値が何であるかという問題について説明しました。...

HTML ページに画像を挿入し、マップ インデックスを追加する方法の例

1. WEBでサポートされている画像形式: GIF: 256色を保存でき、透明色をサポートし、アニメ...

MySQLのサブクエリユニオンの効率性についての簡単な説明と

最近の製品テストでは、同時呼び出し数が 10 未満の場合に応答時間が 100 ミリ秒以内に維持できな...

CentOS7 での mysql 5.7.23 のバイナリ インストール

インターネット上のインストール情報は不均一で、落とし穴だらけです。インストールにはかなりの労力がかか...

Dockerコマンドの学習を1つの記事にまとめる

目次導入ミラーリポジトリログイン引く押す検索ローカル画像管理画像rmiタグ建てる歴史保存負荷輸入コン...

MySQLで全角文字と半角文字を保存する場合の違い

残念ながら、社内の IM のテスト中に MYSQL_DATA_TRUNCATED エラーが再び発生し...

JS の精度外数値問題の解決

精度の問題に対する最もわかりやすい説明たとえば、1÷3=0.33333333...という数字は、3が...

タブ切り替え機能を実装するJavaScriptカスタムプラグイン

この記事では、タブ切り替え機能を実装するためのJavaScriptの具体的なコードを参考までに共有し...

MySQL 5.7.19 のインストールと設定方法のグラフィック チュートリアル (win10)

以下に記録されているように、WIN10システムにMYSQLをダウンロードしてインストールするための詳...