1. Datenquelle2. Gesamtrangfolge der Daten1) Allgemeine RanglisteBeginnend bei 1 werden die Zahlen absteigend gereiht (derselbe Wert hat dabei einen anderen Rang). setze @rank =0; wählen Stadt, Punktzahl, @Rang := @Rang+1 Rang von cs Sortieren nach Punktzahl absteigend; Die Ergebnisse sind wie folgt: 2) Gleichstand bei der RanglisteIdentische Werte haben den gleichen Rang (es bleiben aber keine leeren Plätze übrig). setze @rank=0,@price=null; wähle cs.*, Fall, wenn @Preis = Punktzahl, dann @Rang wenn @price := Punktzahl dann @rank := @rank+1 Endrang von cs nach Punktzahl absteigend sortieren; -- Wenn der Abfrage-Scorewert = @price ist, wird @rank ausgegeben, -- Wenn sie nicht gleich sind, weisen Sie @price den Score-Wert zu und geben Sie @rank := @rank+1 aus. - oder setzen Sie @rank=0,@price=null; wählen eine.Stadt, eine.Punktzahl, ein.Rang aus (cs.* auswählen, @rank := wenn(@p=score,@rank,@rank+1) Rang, @p := Punktzahl von cs Sortieren nach Punktzahl absteigend) a; Die Ergebnisse sind wie folgt: 3) Gleichstand bei der RanglisteDer gleiche Wert hat den gleichen Rang (lässt aber eine Leerstelle). setze @rank=0,@price=null, @z=1; wählen eine.Stadt, eine.Punktzahl, ein.Rang aus (wählen cs.*, @rank := wenn(@p=score,@rank,@z) Rang, @p := Punktzahl,@z :=@z+1 von cs Sortieren nach Punktzahl absteigend) a; Die Ergebnisse sind wie folgt: 3. Rangfolge innerhalb der Gruppe nach der Datengruppierung1) Gesamtrangliste der GruppeBeginnend bei 1 werden die Zahlen absteigend gereiht (derselbe Wert hat dabei einen anderen Rang). setze @rank=0,@c=null; wählen cs.Stadt,cs.Score, @rank := wenn(@c = Stadt,@rank+1,1) Rang, @c := Stadt von cs Sortieren nach cs.city,cs.score; Die Ergebnisse sind wie folgt: 2) Gleichstand nach GruppierungElemente mit gleichem Wert haben innerhalb einer Gruppe die gleiche Rangfolge und belegen keine leeren Positionen. setze @rank=0,@c=null,@s=null; wählen cs.Stadt,cs.Score, @rank := wenn(@c=Stadt,wenn(@s=Punktzahl,@rank,@rank+1),1) Rang , @c := Stadt, @s :=Punktzahl von cs Sortieren nach cs.city,cs.score; Die Ergebnisse sind wie folgt: 3) Gleichstand nach GruppierungElemente mit gleichem Wert innerhalb einer Gruppe haben die gleiche Rangfolge und müssen leere Positionen besetzen. setze @rank=0,@c=null,@s=null; wählen cs.Stadt,cs.Score, @rank := wenn(@c=Stadt,wenn(@s=Punktzahl,@rank,@rank+1),1) Rang , @c := Stadt, @s :=Punktzahl von cs Sortieren nach cs.city,cs.score; Die Ergebnisse sind wie folgt: 4. Nach der Gruppierung nehmen Sie die beiden besten jeder Gruppe① Methode 1: Drei Möglichkeiten zum Gruppieren und Ranking und anschließendes Begrenzen des Rankingwerts setze @rank=0,@z=0,@c=null,@s=null; Wählen Sie eine Stadt, eine Punktzahl und einen Rang aus (wählen cs.city Stadt,cs.score Punktzahl, @z := wenn(@c=Stadt,@z+1,1), @rank := wenn(@c=Stadt,wenn(@s=Punktzahl,@rank,@z),1) Rang, @c := Stadt, @s :=Punktzahl von cs Sortieren nach cs.city,cs.score desc) a wobei a.rank<=2; Die Ergebnisse sind wie folgt: ② Interne Anfrage WÄHLEN SIE * VON cs c WO ( WÄHLEN Sie Anzahl (*) aus cs WO c.city=cs.city UND c.score<cs.score )<2 ORDER BY Stadt, Punktzahl DESC; Die Ergebnisse sind wie folgt: Das Ausführungsprinzip des obigen Codes ist wie folgt: Oben finden Sie den detaillierten Inhalt des Implementierungsbeispiels für die Gruppenrangfolge im MySQL-Tutorial. Weitere Informationen zur Gruppenrangfolge im MySQL-Tutorial finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
>>: Einführung in die gängigen Festplattenverwaltungsbefehle von Linux
Zusammenfassung: Problemlösungsaufzeichnungen von...
Inhaltsverzeichnis iview-admin2.0 integrierte Ber...
Kürzlich stieß ich auf eine Datenbank mit folgend...
Vorwort Während der Entwicklung stoßen wir häufig...
Szenariobeschreibung In einem bestimmten System w...
Code kopieren Der Code lautet wie folgt: <!DOC...
Siehe das offizielle Dokument http://dev.mysql.co...
Das Betriebssystem für die folgenden Inhalte ist:...
Die Verwendung der MySQL Master-Slave-Replikation...
Das Ziel dieses Dokuments ist es, die JSON-Serial...
Vorlage <el-table :data="Datenliste"...
1. Löschen Sie die ursprüngliche MariaDB, sonst k...
Der Blogger hat MySQL ein oder zwei Monate lang n...
Ich habe viele Tutorials gelesen, aber festgestel...
Erstellen eines Projektverzeichnisses mkdir php E...