由于Mysql中没有窗口函数实现编号及排名,下面我就有两个班级的学生成绩为大家解释下在mysql中如何实现

1.建表
create table sore(class int,id int,name varchar(10),sore int)
2.导入数据
insert into sore values(1,1,’zhang’,100),(1,2,’li’,90),(1,3,’wang’,90),(1,4,’zheng’,90),(2,5,’chen’,99),(2,6,’yan’,99),(2,7,’pan’,80),(2,8,’dd’,90),(2,9,’dd’,80),(2,10,’dd’,70);

mysql实现编号及mysql实现排名

3.按照不同的需求实现

- .按分数从高到低编号

mysql实现编号及mysql实现排名

- . 按班级分数从高到低编号(注:相同分数的不同编号)

mysql实现编号及mysql实现排名

- .按分数从高到低排名(注:相同分数的相同名次)

mysql实现编号及mysql实现排名

  • . 按班级分数从高到低排名(注:相同分数的相同名次,其中相同名次不占用位置,排名连续)

mysql实现编号及mysql实现排名

  • . 按班级分数从高到低排名(注:相同分数的相同名次,其中相同名次占用位置,排名不连续)

mysql实现编号及mysql实现排名

相关文章: