Heim > Datenbank > MySQL-Tutorial > Hauptteil

MySQL_Implementierung der gruppeninternen Sortierung – die Funktion der rank()-Funktion in Oracle

php是最好的语言
Freigeben: 2018-08-02 13:55:49
Original
3348 Leute haben es durchsucht

Angenommen, die Tabelle ist studentisch und die Daten lauten wie folgt:

MySQL_Implementierung der gruppeninternen Sortierung – die Funktion der rank()-Funktion in Oracle

Wir möchten die Funktion rank() in Oracle in MySQL implementieren, also innerhalb sortieren Die Gruppe, insbesondere: Es geht darum, die Studenten (Name) in der Studententabelle nach Kurs (Kurs) und nach Punktzahl (Punktzahl) zu ordnen.

  Erstellen Sie zunächst eine neue gespeicherte Prozedur „reale_rank_in_MySQL“. Der Code lautet wie folgt:

DROP PROCEDURE IF EXISTS realize_rank_in_MySQL;
DELIMITER ;;
CREATE PROCEDURE realize_rank_in_MySQL()
BEGIN
    DECLARE i int;
    SET i = 0;
    WHILE i < (select count(DISTINCT course) from student) DO
            SET @ROW =0;
            INSERT INTO student_rank
            SELECT *, (@ROW:=@ROW+1) AS rank FROM student
            WHERE course=(select DISTINCT course from student limit i,1)
            ORDER BY score DESC;
            set i = i + 1;
    END WHILE;
END
;;
DELIMITER ;
Nach dem Login kopieren

Geben Sie dann die folgende Abfrageanweisung ein:

drop table if exists student_rank;
create table student_rank like student;
alter table student_rank add rank int;
call realize_rank_in_MySQL;
select * from student_rank;
Nach dem Login kopieren

  Das Ergebnis lautet wie folgt:

MySQL_Implementierung der gruppeninternen Sortierung – die Funktion der rank()-Funktion in Oracle

Hinweis: Die Rangfolge hier berücksichtigt nicht die Situation, in der die Rangfolge gleich ist, wenn die Punktzahlen gleich sind.

Verwandte Artikel:

MySQL-Rangfunktionsimplementierung_MySQL

Verwendung von Standard-SQL in Hive zur Implementierung der gruppeninternen Sortierung

Das obige ist der detaillierte Inhalt vonMySQL_Implementierung der gruppeninternen Sortierung – die Funktion der rank()-Funktion in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage