旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

MySQL_完成组内排序-Oracle中的rank()函数的功用【MySQL教程】,mysql

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:63评论:0


导读:  假定表格为student,数据以下:  我们要在MySQL中完成Oracle中的rank()函数功用,即组内排序,具体来说:就是对student表中根据课程(c...
  假定表格为student, 数据以下:

  我们要在MySQL中完成Oracle中的rank()函数功用,即组内排序,具体来说: 就是对student表中根据课程(course)对门生(name)按分数(score)上下举行排名。

  起首新建存储历程realize_rank_in_MySQL,代码以下:

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 ;

然后输入以下查询语句即可:

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;

  效果以下:

注重:这里的排名并没有完成分数相同时排名也一样的情况。

相干文章:

MySQL的rank函数完成_MySQL

hive中运用规范sql完成分组内排序

相干视频:

尚观Oracle入门到通晓视频教程

以上就是MySQL_完成组内排序-Oracle中的rank()函数的功用的细致内容,更多请关注ki4网别的相干文章!

标签:mysql


欢迎 发表评论: