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

推薦する

LinuxシステムでのSystemC環境設定方法

以下はcentos7での設定方法ですsystemc ソース パッケージをダウンロード: System...

CSS で要素を垂直方向に中央揃えする 7 つの方法

【1】中央の要素の幅と高さを知る絶対値 + 負のマージンコードの実装 .wrapBox5{ 幅: 3...

Vue で動的なスタイルを実現するためのさまざまな方法のまとめ

目次1. 三項演算子の判定2. 動的に設定されるクラス3. 方法判定4. 配列バインディング5. e...

5つのCSSスクロール天井実装方法の比較(パフォーマンス向上版)

改訂版のプレビューこの記事は 3 日前に書かれたものです。先輩の同僚から改訂の提案をいくつかいただき...

JavaScript の基礎におけるデータ型の詳細な説明

目次1. データ型1.1 なぜデータ型が必要なのか? 1.2 変数のデータ型1.3 データ型の分類2...

Node.js で Bash スクリプトを書くための究極のソリューション

目次序文zxライブラリ$`コマンド` CD()フェッチ()質問()寝る()スローしない()チョークフ...

Centos に PHP7.4 と Nginx をインストールする方法

準備する1. 必要なインストールパッケージをダウンロードするhttps://www.php.net/...

要素UIテーブルはドロップダウンフィルタリング機能を実現します

この記事の例では、要素UIテーブルにドロップダウンフィルタリングを実装するための具体的なコードを参考...

jsは動的にテーブルを生成します(ノード操作)

この記事の例では、テーブルを動的に生成するjsの具体的なコードを参考までに共有しています。具体的な内...

古典的なスネークゲームの JavaScript 実装

この記事では、古典的なスネークゲームを実装するためのJavaScriptの具体的なコードを参考までに...

Vue のディスパッチとブロードキャストの自己実装の詳細説明 (ディスパッチとブロードキャスト)

解決すべき問題主にコンポーネント間のクロスレベル通信用なぜディスパッチとブロードキャストを自分で実装...

MySQL よく使われる関数の詳細な概要

目次MySQL 共通関数1. 数値関数文字列関数3. 時間機能4. システム機能5. 集計関数MyS...

Baidu Maps を Web ページに埋め込み、Baidu Maps API を使用してマップをカスタマイズする詳細な手順

ウェブページにBaiduマップを挿入するBaidu Maps を自分の Web ページに追加したい場...

HTML コード例: ハイパーリンクの詳細な説明

ハイパーリンクは、Web サイト上のすべてのページがハイパーリンクで接続され、ページ間を移動できるた...