MySQL-Sortierung zum Abrufen eines Ranking-Beispielcodes

MySQL-Sortierung zum Abrufen eines Ranking-Beispielcodes

Der Code sieht folgendermaßen aus:

SELECT @i:=@i+1 Zeilennummer,
wenn(@total=t.s_score,@rank,@rank:=@i) Rang,@total:=t.s_score,
T.*
aus(
wähle t1.*, t2.s_score von Student t1 LEFT JOIN Punktzahl t2 auf t1.s_id=t2.s_id und t2.c_id="01" ORDER BY t2.s_score desc
)t,(wählen Sie @i:=0,@rank:=0,@total:=null) s;
SELECT @i:=@i+1 Zeilennummer,
wenn(@total=t.s_score,@rank,@rank:=@rank+1) Rang,@total:=t.s_score,
T.*
aus(
wähle t1.*, t2.s_score von Student t1 LEFT JOIN Punktzahl t2 auf t1.s_id=t2.s_id und t2.c_id="01" ORDER BY t2.s_score desc
)t,(wählen Sie @i:=0,@rank:=0,@total:=null) s;

Mysql erhält das Ranking nach der Sortierung der Noten

Tatsächlich gibt es die Zeilennummer nach der MySQL-Sortierung aus

RT: Holen Sie sich die Rangfolge der Punktzahl eines einzelnen Benutzers unter den Punktzahlen aller Benutzer

Der Vorgang lässt sich in zwei Schritte unterteilen:

1. Alle Benutzer und ihre Leistungsbewertungen finden

Wählen Sie ID, maxScore, (@rowNum: = @rowNum + 1) als Zeilennummer 
von t_user, 
(Auswahl (@Zeilennummer :=0)) b 
Sortiert nach t_user.maxScore desc

2. Finden Sie das Ranking eines Benutzers unter den Bewertungen aller Benutzer heraus

wähle u.rowNo aus ( 
Wählen Sie ID, (@rowNum:=@rowNum+1) als Zeilennummer 
von t_user, 
(Auswahl (@Zeilennummer :=0)) b 
Sortieren nach t_user.maxScore desc) u, wobei u.id="2015091810371700001";

Zusammenfassen

Oben ist die vom Herausgeber eingeführte Mysql-Sortierungs- und Ranglistenerfassung. Ich hoffe, sie wird allen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • MySQL implementiert Ranking und fragt die angegebene Benutzer-Ranking-Funktion ab (parallele Ranking-Funktion) Beispielcode
  • MySQL-Seitenzugriffsstatistiken und -Rankings
  • So fügen Sie den Ergebnissen benutzerdefinierter Feldabfragen in MySQL eine Rangfolge hinzu
  • MySQL-Gruppierung, um die ersten paar Datensätze in jeder Gruppe (Ranking) mit Recherche nach „Gruppieren nach“ und „Sortieren nach“ zu erhalten
  • Fassen Sie einige häufige Rankingprobleme in MySQL zusammen

<<:  So verwenden Sie Webstorm und Chrome zum Debuggen von Vue-Projekten

>>:  So gehen Sie mit dem vom Linux-System gemeldeten Warnproblem xfs_vm_releasepage um

Artikel empfehlen

So überprüfen Sie die Festplattengröße und mounten die Festplatte in Linux

Es gibt zwei Arten von Festplatten in Linux: gemo...

Eine kurze Diskussion über den Vater-Sohn-Werttransfer in Vue3

Inhaltsverzeichnis Vom Vater zum Sohn: 1. Übergeb...

Hinweise zur Speicherverwaltung von Linux-Kernel-Gerätetreibern

/********************** * Linux-Speicherverwaltun...

MySQL-Reihe: Grundlegende Konzepte der relationalen MySQL-Datenbank

Inhaltsverzeichnis 1. Grundlegende Konzepte 2. En...

Verwenden Sie js in html, um die lokale Systemzeit abzurufen

Code kopieren Der Code lautet wie folgt: <div ...

Erfahrung mit parallelen React-Funktionen (gleichzeitiger Front-End-Modus)

React ist eine Open-Source-JavaScript-Bibliothek,...

So zeigen Sie JSON-Daten in HTML an

Hintergrund: Manchmal müssen wir JSON-Daten direk...

Verwendung und Verschönerung von HTML-Blockquote-Tags

Definition und Verwendung von Blockquote Das Tag ...

Frage zu benutzerdefinierten Attributen von HTML-Tags

In der vorherigen Entwicklung haben wir die Stand...

MySql schnelles Einfügen von zig Millionen großen Datenbeispielen

Im Bereich der Datenanalyse sind Datenbanken unse...