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
1. Überlaufinhalt-Überlaufeinstellungen (festlegen...
Wenn Sie Alibaba Cloud Server verwenden, müssen S...
Dieser Artikel beschreibt anhand von Beispielen d...
Installieren Sie MySQL zum ersten Mal auf Ihrem C...
Vorwort binlog ist eine binäre Protokolldatei, di...
1. Herunterladen: http://www.oracle.com/technetwo...
Um zwei verschiedene Tabellen abzufragen, müssen ...
Vorwort Ehrlich gesagt fühle ich mich in letzter ...
Inhaltsverzeichnis Warum ist IN langsam? Was ist ...
Zusammenfassung: Wenn über die Leistungsoptimieru...
Inhaltsverzeichnis 1. Globale Ebene 2. Datenbanke...
Was ist die CN2-Linie? CN2 steht für China Teleco...
Normalerweise müssen die von Benutzern hochgelade...
Schöner Code ist die Grundlage einer schönen Websi...