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

Einige wunderbare Verwendungsmöglichkeiten von URL-Objekten in JavaScript

Inhaltsverzeichnis Vorwort Parameter analysieren ...

Warum kann mein Tomcat nicht starten?

Inhaltsverzeichnis Phänomen: Portnutzung: Rechtsc...

Für die Verwendung des Docker-Befehls ist kein Sudo erforderlich

Da der Docker-Daemon an den Unix-Socket des Hosts...

Beispiel für eine Vue-Datenanzeige auf einem großen Bildschirm

Um die Anforderungen effizient zu erfüllen und au...

Detaillierter Code zum Hinzufügen von Electron zum Vue-Projekt

1. Fügen Sie package.json hinzu "Haupt"...

Eine kurze Analyse zum Upgrade von PHP 5.4 auf 5.6 in CentOS 7

1. Überprüfen Sie die PHP-Version nach dem Aufruf...

Beispiel für einen SQL-Seriennummernerfassungscode

In diesem Artikel wird hauptsächlich das Beispiel...

Einige allgemeine Eigenschaften von CSS

CSS-Hintergrund: background:#00ffee; //Hintergrund...

Detaillierte Erläuterung des Anwendungsbeispiels für den JQuery-Tag-Selektor

In diesem Artikelbeispiel wird der spezifische Co...

Tutorial zur Verwendung von Hyperlink-Tags in XHTML

Hyperlink, auch „Link“ genannt. Man kann sagen, d...