Maison > base de données > tutoriel mysql > le corps du texte

MySQL_Implementation du tri intra-groupe - la fonction de la fonction Rank() dans Oracle

php是最好的语言
Libérer: 2018-08-02 13:55:49
original
3334 Les gens l'ont consulté

Supposons que la table soit étudiante et que les données soient les suivantes :

MySQL_Implementation du tri intra-groupe - la fonction de la fonction Rank() dans Oracle

Nous voulons implémenter la fonction Rank() dans Oracle dans MySQL, c'est-à-dire trier dans le groupe, plus précisément : Il s'agit de classer les étudiants (nom) dans le tableau des étudiants selon le cours (cours) et selon la note (score).

  Créez d'abord une nouvelle procédure stockée réalise_rank_in_MySQL, le code est le suivant :

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 ;
Copier après la connexion

Saisissez ensuite l'instruction de requête suivante :

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;
Copier après la connexion

  Le résultat est le suivant :

MySQL_Implementation du tri intra-groupe - la fonction de la fonction Rank() dans Oracle

Remarque : Le classement ici ne rend pas compte de la situation où le classement est le même lorsque les scores sont les mêmes.

Articles connexes :

implémentation de la fonction de classement MySQL_MySQL

Utilisation du SQL standard dans la ruche pour implémenter le tri intra-groupe

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal