1. 程式人生 > >查詢,實現分數排名,去重顯示。

查詢,實現分數排名,去重顯示。

#建立成績表
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;