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 ブートシステム方式の分析

推薦する

LinuxでIPを表示する方法の例

ネットワークの問題のトラブルシューティング、新しい接続のセットアップ、ファイアウォールの構成を行うと...

JavaScript タイマーの詳細

目次1. 簡単な紹介2. 間隔を設定する2.1 説明2.2 パラメータ2.3 戻り値2.4 使用法3...

スタイルをより標準化するための CSS の書き方に関する 5 つのヒント

1. CSSをアルファベット順に並べるアルファベット順ではありません:コードをコピーコードは次のとお...

MySQL ルートパスワードをリセットする方法

目次1. ルートパスワードを忘れてしまい、データベースにアクセスできない: DBA にとって、スーパ...

Ubuntu 20.04 と NVIDIA ドライバーのインストールに関するチュートリアル

Ubuntu 20.04をインストールする NVIDIAドライバーをインストールする Pytouch...

Flexboxレイアウトの最もシンプルなフォーム実装

フレキシブル レイアウト (Flexbox) はますます人気が高まっており、CSS レイアウトの記述...

JavaScriptを使って動的にテーブルを生成するケースの詳しい説明

目次序文実装のアイデア実装コード成果を達成する序文これは、テーブルを動的に追加する例です。[追加] ...

WAMPにインストールするとMySQLが起動できるが、再起動後に起動できなくなる問題の解決方法

初めてwampをインストールした後、すべてのサービスが正常に使用できますが、再起動するとwampのア...

24 の実用的な JavaScript 開発のヒント

目次1.配列を初期化する2. 配列の合計、最大値、最小値3. エラー値をフィルタリングする4. 論理...

Linux sftp コマンドの使用法の概要

sftp は、安全なファイル転送プロトコルである Secure File Transfer Prot...

Docker で MySQL クラスターを構築する方法の例

Docker の基本的な手順:アップデートパッケージ yum -y アップデートDocker仮想マシ...

Dockerfileを使用してDockerイメージを構築する

目次Dockerfileを使用してDockerイメージを構築する1. Dockerfile とは何で...

DockerにMySQL 8.0をインストールする方法

環境: MacOS_Cetalina_10.15.1、Mysql8.0.18、Docker_2.0....

CSS マルチレベルメニュー実装コード

これは、Web ページを Windows のスタート メニューなどのデスクトップ プログラムのように...

CSSを使用して画像フレームアニメーションと曲線の動きを実装する

すべてのアニメーションの基本原理は、対応する画像を短時間で次々に表示し、視覚的に動いているように見せ...