MySQL verwendet Variablen, um verschiedene Sortierungen zu implementieren

MySQL verwendet Variablen, um verschiedene Sortierungen zu implementieren

Kerncode

-- Im Folgenden werde ich die Implementierung der Sortierspalte in MySQL demonstrieren -- Testdaten CREATE TABLE tb
(
Punktzahl INT
);
EINFÜGEN tb AUSWÄHLEN 
5 UNION ALLE AUSWÄHLEN 
4 UNION ALLE AUSWÄHLEN 
4 UNION ALLE AUSWÄHLEN 
4 UNION ALLE AUSWÄHLEN 
3 UNION ALLE AUSWÄHLEN 
2 UNION ALLE AUSWÄHLEN
1;
--1. Zeilennummernsortierung SET @row_number =0;
SELECT @Zeilennummer := @Zeilennummer+1 AS Zeilennummer,Punktzahl 
VON tb 
ORDER BY Punktzahl DESC;
+------------+-------+
| Zeilennummer | Punktzahl |
+------------+-------+
| 1 | 5 |
| 2 | 4 |
| 3 | 4 |
| 4 | 4 |
| 5 | 3 |
| 6 | 2 |
| 7 | 1 |
+------------+-------+
--2. dense_rank-Sortierung SET @dense_rank = 0, @prev_score = NULL;
Wählen Sie @dense_rank :=IF(@prev_score=score,@dense_rank,@dense_rank+1) AS decnse_rank,
  @prev_score := Punktzahl AS Punktzahl 
VON tb 
ORDER BY Punktzahl DESC; 
+-------------+----------+
|decns_rank | Punktzahl |
+-------------+----------+
| 1 | 5 |
| 2 | 4 |
| 2 | 4 |
| 2 | 4 |
| 3 | 3 |
| 4 | 2 |
| 5 | 1 |
+-------------+----------+
--3. Rangsortierung SET @row=0,@rank=0,@prev_score=NULL;
Wählen Sie @row: = @row + 1 als Zeile,
    @rank:=WENN(@prev_score=score,@rank,@row) ALS Rang,
    @prev_score:=Punktzahl AS-Punktzahl
VON tb 
ORDER BY Punktzahl DESC;
+------+------+-------+
| REIHE | Rang | Punktzahl |
+------+------+-------+
| 1 | 1 | 5 |
| 2 | 2 | 4 |
| 3 | 2 | 4 |
| 4 | 2 | 4 |
| 5 | 5 | 3 |
| 6 | 6 | 2 |
| 7 | 7 | 1 |
+------+------+-------+

Das könnte Sie auch interessieren:
  • Tutorial zur Installation und Konfiguration von MySQL 8.0.12 unter Win10
  • Detaillierte Erläuterung zweier Methoden zum Festlegen globaler Variablen und Sitzungsvariablen in MySQL
  • MySQL 5.6.23 Installations- und Konfigurations-Umgebungsvariablen-Tutorial
  • Neue Funktionen von MySQL 8: So ändern Sie persistente globale Variablen
  • Codeanalyse von Benutzervariablen in MySQL-Abfrageanweisungen
  • MySQL-Variablendeklaration und Analyse gespeicherter Prozeduren
  • Mehrere wichtige MySQL-Variablen
  • Eine kurze Erläuterung des Unterschieds zwischen dem Deklarieren und Festlegen von Variablen in gespeicherten MySQL-Prozeduren
  • MySQL-Variablenprinzipien und Anwendungsbeispiele

<<:  vite2.x implementiert das On-Demand-Laden von Ant-Design-Vue@next-Komponenten

>>:  So importieren/speichern/laden/löschen Sie Bilder lokal in Docker

Artikel empfehlen

Automatischer Commit-Vorgang für MySQL-Transaktionen

Der Standardbetriebsmodus von MySQL ist der Autoc...

So ändern Sie die IP-Einschränkungsbedingungen des MySQL-Kontos

Vorwort Kürzlich stieß ich bei der Arbeit auf ein...

Express implementiert Login-Verifizierung

In diesem Artikelbeispiel wird der spezifische Co...

So verwenden Sie HTML+CSS zum Erstellen einer TG-Vision-Homepage

Dieses Mal verwenden wir HTML+CSS-Layout, um eine...

Details zum JavaScript-Abschluss

Inhaltsverzeichnis 1. Was ist ein Abschluss? 2. D...

Vue + ElementUI implementiert Paging-Funktion - MySQL-Daten

Inhaltsverzeichnis 1. Problem 2. Lösung 2.1 Pagin...

Sublime Text - Empfohlene Methode zum Festlegen von Browser-Tastenkombinationen

Codeeffekte werden häufig in unterschiedlichen Br...

Vollständiges HTML des Upload-Formulars mit Bildvorschau

Das Upload-Formular mit Bildvorschaufunktion, der...

Detaillierte Erläuterung des Linux-Befehls zur Änderung des Hostnamens

Linux-Befehl zum Ändern des Hostnamens 1. Wenn Si...

JavaScript implementiert die Kontrollkästchenauswahlfunktion

In diesem Artikelbeispiel wird der spezifische Ja...

Schnelles Verständnis des Vue-Routing-Navigationsschutzes

Inhaltsverzeichnis 1. Globale Wache 1. Globale Fr...