前提:各选手分数按条存储在数据库中,有同分数情况,要求对名次进行排名,分数相同,名次相同
思路:
1、使用“select 分数,count(分数字段) … group by 分数字段 order by 分数字段 desc”,查询并按最高分到最低分排列,结果例如:
99 1
85 2
72 1
60 3
2、把第一步查出的数组进行foreach循环,得到的索引key(0,1,2…..)加上1就是这个分数所处的名次,在这个循环内部再遍历所有选手得分信息,如果和当前索引的分数相同,则当前索引+1就是该选手的名次。