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

CentOS7.5-Installationstutorial für MySQL

1. Überprüfen Sie zunächst, ob auf dem System MyS...

So installieren Sie MySQL 8.0.17 und konfigurieren den Fernzugriff

1. Vorbereitung vor der Installation Überprüfen S...

Zwei Möglichkeiten zum Löschen von Tabellendaten in MySQL und ihre Unterschiede

Es gibt zwei Möglichkeiten, Daten in MySQL zu lös...

Probleme bei der Installation von Python3 und Pip in Ubuntu in Docker

Text 1) Laden Sie das Ubuntu-Image herunter Docke...

Detaillierte Erläuterung des Vuex-Gesamtfalls

Inhaltsverzeichnis 1. Einleitung 2. Vorteile 3. N...

Ein kurzes Verständnis der drei Prinzipien zum Hinzufügen von MySQL-Indizes

1. Die Bedeutung von Indizes Indizes werden verwe...

Erste Schritte mit SELinux

Bereits zu Kernel 2.6-Zeiten wurde ein neues Sich...

Thumbnail-Hover-Effekt mit CSS3 implementiert

Ergebnisse erzielenImplementierungscode html <...

So erstellen Sie Ihre eigene Angular-Komponentenbibliothek mit DevUI

Inhaltsverzeichnis Vorwort Erstellen einer Kompon...