MySQLでのカスタムパラメータの使用に関する詳細な説明

MySQLでのカスタムパラメータの使用に関する詳細な説明

MySQL 変数には、システム変数とシステム変数が含まれます。今回の学習課題はユーザー定義変数です。ユーザー変数には、主にローカル変数とセッション変数が含まれます。

ユーザー定義変数の宣言方法は、@var_name です。変数名は、文字、数字、「.」、「_」、「$」で構成されます。もちろん、文字列または識別子を参照するときに他の文字を含めることもできます (例: @'my-var'、@"my-var"、または @my-var)。

ユーザー定義変数はセッションレベルの変数です。変数のスコープは、それが宣言されているクライアント リンクに制限されます。クライアントが切断されると、すべてのセッション変数が解放されます。

ユーザー定義変数では大文字と小文字は区別されません。

ユーザー定義変数を宣言するには、SET ステートメントを使用します。

@my_var を 1 に設定します。 
@my_var を 1 に設定します。

set を使用しない場合は、= を使用すると比較演算子と見なされる可能性があるため、:= 代入を使用します。

次に例を示します。

スコアランキングを実装するための SQL クエリを記述します。 2 つのスコアが同じ場合、2 つのスコアのランクも同じになります。同順位の次の順位番号は、次の連続する整数値になる必要があることに注意してください。つまり、行と列の間に「穴」があってはなりません。

+—-+——-+
| ID | スコア |
+—-+——-+
| 1 | 3.50 |
| 2 | 3.65 |
| 3 | 4.00 |
| 4 | 3.85 |
| 5 | 4.00 |
| 6 | 3.65 |
+—-+——-+

たとえば、上記のスコア テーブルの場合、クエリによって次のレポート (最高スコア順に並べ替え) が生成されます。

+——-+——+
| スコア | 順位 |
+——-+——+
| 4.00 | 1 |
| 4.00 | 1 |
| 3.85 | 2 |
| 3.65 | 3 |
| 3.65 | 3 |
| 3.50 | 4 |
+——-+——+

クエリステートメント:

スコアを選択、@rank := @rank + (@pre <> (@pre:=Score)) ランク 
スコアから、(SELECT @rank := 0,@pre := -1) INIT 
スコア順で並べ替え

注記:

@rankは成績の順位を示します

@preは前の人のスコアを示します

スコアが前回と異なる場合、@rank = @rank + 1、それ以外の場合は@rank = rank です。

@rank を 1 に、@pre を -1 に初期化します。

実験結果は次のとおりです。

MySQL でのカスタムパラメータの使用に関する上記の詳細な説明は、編集者が皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL ストアド関数(カスタム関数)の定義と使用方法の詳細な説明
  • MySql ストアド プロシージャ パラメータの初歩的な使用法の詳細な説明
  • MYSQL設定パラメータの最適化の詳細な説明

<<:  Vue.jsはタイムライン機能を実装します

>>:  Linux ブートシステム方式の分析

推薦する

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

この記事ではMySQL 8.0.11のインストールと設定方法を参考までに記録します。具体的な内容は以...

iFrameは背景を覆うポップアップレイヤーとして使うのに最適です

最近、私は「ぶどうコレクション」というプロジェクトに取り組んでいます。簡単に言うと、Budou ペー...

ルート権限なしでログインするためのDockerソリューション

docker コマンドを初めて使用する場合、権限の問題を確認するメッセージが表示されます。 unix...

Chrome タブバーを実装するための CSS のヒント

今回は、Google Chrome のタブバーのような、特殊な丸い角を持つナビゲーション バーのレイ...

CSS3 を使用してピカチュウのアニメーション壁紙を作成する例

文章さて、次はレンダリングを見せましょう。画像を見て初めて理解することに興味が湧くでしょう。そうでな...

ウェブページのフラッシュアニメーションが表示されない問題の解決策

<br />解決手順は次のとおりです。スタート -> 実行 -> reged...

5分でDockerをインストールする詳細な手順

CentOS に Docker をインストールするには、オペレーティング システムが CentOS ...

ローカルのMySQLをサーバーデータベースに移行する方法

Linux の scp コマンド (Windows では scp は使用できません) と、mysql...

Linuxカーネルがプロセスアドレス空間に侵入し、プロセスメモリを変更する方法

プロセス アドレス空間の分離は、現代のオペレーティング システムの注目すべき機能です。これは、「古い...

重要なmysqlログファイルの概要

著者: 丁易出典: https://chengxuzhixin.com/blog/post/mysq...

Ubuntu 18.04 に Nvidia グラフィック カード ドライバーをインストールするチュートリアル (画像とテキスト付き)

0. 事前準備BIOS でセキュア ブートを無効にします。無効にしないと、サードパーティ ソースを...

CentOs7 64 ビット MySQL 5.6.40 ソースコードのインストール プロセス

1. インストールプロセス中に問題が発生しないように、まず依存パッケージをインストールします。 [r...

CSS3 のディスプレイのグリッドレイアウトとフレックスレイアウトの詳細な説明

Gird レイアウトは Flex レイアウトといくつかの類似点があり、どちらもコンテナーの内部項目を...

Windows プラットフォームでの MySQL のインストールと設定方法と注意事項

2.1、msiインストールパッケージ2.1.1、インストール特に重要なのは、インストール前に、元の ...

Vue-Routerのインストールと使用方法の詳細な説明

目次インストールルーティングの基本構成Vue にルーターをインストールするルーターの設定Router...