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 でタイムアウトしたセッションを監視および削除する方法

推薦する

Bash の山括弧の深い理解 (初心者向け)

序文Bash には、ls、cd、mv などの重要な組み込みコマンドが多数あるほか、grep、awk、...

見落とされがちなMETAタグの特殊効果(ページ遷移効果)

Web デザインで js を使用すると、多くのページ効果を実現できますが、HTML タグの META...

MySQL のテーブル内のレコード数を制限する方法

目次1. トリガーソリューション2. パーティションテーブルソリューション3. 一般的な表領域ソリュ...

Vue.js と MJML でレスポンシブなメールを作成する

MJML は、開発者が美しく、応答性に優れ、あらゆるデバイスやメール クライアントで動作する魅力的な...

HTML で 2 列レイアウトを実装する方法の例 (左側は固定幅、右側は適応幅)

HTMLは2列レイアウトを実装し、左側は固定幅、右側は適応幅です。実装1: <スタイル>...

Dockerfile を使用して Node.js サービスをデプロイする方法

Dockerfileを初期化するプロジェクトの名前が express であると仮定して、expres...

CSS インライン スタイル、埋め込みスタイル、外部参照スタイルを使用する 3 つの方法

3 つの方法を使用する簡単な例は次のとおりです。インラインスタイル: <!doctypehtm...

IDEA 2020.3.1 で Tomcat をデプロイし、最初の Web プロジェクトを作成するプロセスの詳細な説明

目次Tomcat の紹介Tomcat の展開Web プロジェクトの作成tomcatの設定プロジェクト...

ウェブページで任意のフォントを使用する実践的な操作とデモ

以前、「Web ページにシステムに組み込まれていないフォントを埋め込む」という研究をしたことがありま...

JavaScript 配列重複排除問題の詳細な研究

目次序文 👀リサーチを始めましょう🐱‍🏍オリジナル🧶 indexOf を使用した元の方法の最適化 ✍...

Docker での環境変数の使用とよくある問題の解決策

序文Docker はコンテナの環境変数を設定できます。設定方法は 2 つあります。イメージを作成する...

Vueコンポーネントの詳細な説明

<本文> <div id="ルート"> <h2&...

レンダリング関数と JSX の詳細

目次1. 基本2. ノード、ツリー、仮想DOM 1. 仮想DOM 3. createElementパ...

...