Detaillierte Erklärung zur Verwendung benutzerdefinierter Parameter in MySQL

Detaillierte Erklärung zur Verwendung benutzerdefinierter Parameter in MySQL

Zu den MySQL-Variablen zählen Systemvariablen und Systemvariablen. Die Lernaufgabe dieses Mal sind benutzerdefinierte Variablen. Zu den Benutzervariablen zählen hauptsächlich lokale Variablen und Sitzungsvariablen.

Die Deklarationsmethode benutzerdefinierter Variablen lautet wie folgt: @var_name, wobei der Variablenname aus Buchstaben, Zahlen, ".", "_" und "$" besteht. Natürlich können Sie beim Verweisen auf eine Zeichenfolge oder einen Bezeichner auch andere Zeichen einschließen (z. B.: @'my-var', @"my-var" oder @my-var).

Benutzerdefinierte Variablen sind Variablen auf Sitzungsebene. Der Gültigkeitsbereich seiner Variablen ist auf die Client-Verbindung beschränkt, in der sie deklariert sind. Wenn die Verbindung des Clients getrennt wird, werden alle seine Sitzungsvariablen freigegeben.

Bei benutzerdefinierten Variablen wird die Groß-/Kleinschreibung nicht beachtet.

Verwenden Sie die SET-Anweisung, um benutzerdefinierte Variablen zu deklarieren:

SET @meine_var = 1; 
SET @meine_var := 1;

Wenn Sie „set“ nicht verwenden, verwenden Sie die Zuweisung :=, da die Verwendung von „=“ als Vergleichsoperator betrachtet werden kann.

Nachfolgend sehen Sie ein Beispiel:

Schreiben Sie eine SQL-Abfrage, um die Punktebewertung zu implementieren. Wenn zwei Punktzahlen gleich sind, sollten auch die beiden Punktzahlränge gleich sein. Beachten Sie, dass die nächste Rangnummer nach einem Gleichstand der nächste aufeinanderfolgende ganzzahlige Wert sein sollte. Mit anderen Worten, es sollten keine „Löcher“ zwischen den Zeilen und Spalten vorhanden sein.

+—-+——-+
| ID | Punktzahl |
+—-+——-+
| 1 | 3,50 |
| 2 | 3,65 |
| 3 | 4,00 |
| 4 | 3,85 |
| 5 | 4,00 |
| 6 | 3,65 |
+—-+——-+

Beispielsweise sollte Ihre Abfrage anhand der Score-Tabelle oben den folgenden Bericht erzeugen (sortiert nach dem höchsten Score):

+——-+——+
| Punktzahl | Rang |
+——-+——+
| 4,00 | 1 |
| 4,00 | 1 |
| 3,85 | 2 |
| 3,65 | 3 |
| 3,65 | 3 |
| 3,50 | 4 |
+——-+——+

Abfrageanweisung:

wähle Score, @rank := @rank + (@pre <> (@pre:=Score)) Rang 
von Scores, (SELECT @rank := 0,@pre := -1) INIT 
ORDER BY Punktzahl DESC

Notiz:

@rank gibt die Rangfolge der Noten an

@pre gibt den Punktestand der vorherigen Person an

Wenn die Punktzahl sich von der vorherigen unterscheidet, gilt @rank = @rank + 1, andernfalls gilt @rank = Rang.

Initialisieren Sie @rank auf 1 und @pre auf -1.

Die experimentellen Ergebnisse sind:

Die oben aufgeführte ausführliche Erklärung zur Verwendung benutzerdefinierter Parameter in MySQL ist der gesamte Inhalt, den der Herausgeber mit Ihnen teilt. Ich hoffe, dass er Ihnen als Referenz dienen kann. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Definition und Verwendung von in MySQL gespeicherten Funktionen (benutzerdefinierten Funktionen)
  • Detaillierte Erläuterung der grundlegenden Verwendung von MySql-Stored-Procedure-Parametern
  • Detaillierte Erläuterung der MySQL-Konfigurationsparameteroptimierung

<<:  Vue.js implementiert eine Timeline-Funktion

>>:  Analyse der Linux-Bootsystemmethoden

Artikel empfehlen

Führen Sie die Schritte zum Erstellen eines Squid-Proxyservers unter Linux aus.

Vorwort Dieser Artikel stellt hauptsächlich die r...

3 Funktionen der toString-Methode in js

Inhaltsverzeichnis 1. Drei Funktionen der toStrin...

Docker Compose-Übung und Zusammenfassung

Docker Compose kann die Orchestrierung von Docker...

Beheben Sie den Fehler während der Verbindungsausnahme in Docker

Wenn Sie Docker zum ersten Mal verwenden, werden ...

Verwenden von jQuery zum Implementieren des Karusselleffekts

Was ich Ihnen heute zeige, ist die Verwendung von...

So verwenden Sie webSocket zum Aktualisieren des Echtzeitwetters in Vue

Inhaltsverzeichnis Vorwort Informationen zu WebSo...

HTML Einführungstutorial HTML Tag Symbole schnell beherrschen

Randbemerkung <br />Wenn Sie nichts über HTM...

Wir treiben IE6 alleine in den Untergang

Tatsächlich fragen wir uns jeden Tag, wann IE6 wi...