Heim  >  Artikel  >  Datenbank  >  MySQL_Implementierung der gruppeninternen Sortierung – die Funktion der rank()-Funktion in Oracle

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

php是最好的语言
php是最好的语言Original
2018-08-02 13:55:493282Durchsuche

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 ;

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;

  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!

Stellungnahme:
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