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

Fortgeschrittene JavaScript-Programmierung: Variablen und Umfang

Inhaltsverzeichnis 1. Ursprungswert und Bezugswer...

So verwenden Sie Zen-Codierung in Dreamweaver

Nachdem ich meinen letzten Artikel „Zen Coding: Ei...

MySQL View-Prinzipanalyse

Inhaltsverzeichnis Aktualisierbare Ansichten Leis...

Top 10 Js Bildverarbeitungsbibliotheken

Inhaltsverzeichnis einführen 1. Pica 2. Lena.js 3...

Der URL-Wert des SRC- oder CSS-Hintergrundbildes ist der Base64-codierte Code

Möglicherweise ist Ihnen aufgefallen, dass auf die...

MySQL Series 7 MySQL-Speicher-Engine

1. MyISAM-Speicher-Engine Mangel: Keine Unterstüt...