查询,实现分数排名,去重显示。

#创建成绩表
CREATE TABLE `tscore` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id唯一标识 /注:自增',
  `score` float(11) DEFAULT NULL COMMENT '分数',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='成绩表';
insert into tscore (id,score) value (1,3.5);
insert into tscore (id,score) value (2,3.65);
insert into tscore (id,score) value (3,4.00);
insert into tscore (id,score) value (4,3.85);
insert into tscore (id,score) value (5,4.00);
insert into tscore (id,score) value (6,3.65);

#查询,实现分数排名,去重显示。
#查询去重后分数的条件:当前行分数大于等于同表的分数 的count数量, 去重显示, 然后降序输出
select Score, (select count(distinct Score) from tscore where Score>=t.Score) as Rank
from tscore as t
order by Score desc;

猜你喜欢

转载自blog.csdn.net/tangerine_/article/details/86063978