数据库进行排名:
有两种情况
第一:如下
id score ranking
4 99 1
3 97 2
6 97 2
5 95 4
1 90 5
2 87 6
对于这种排名,不要连续的,2-》4 这种,可以用以下sql代码
SELECT g1.id ,g1.score, count(g2.id )+1 as p FROM `lsw_wechat_game_score` g1 left join `lsw_wechat_game_score` g2 on g1.score < g2.score group by g1.id ORDER BY P;
思路:对于表,进行关联,主要是关联比其分数高的,然后group by 合并相同的行,并且统计合并了多少行(count(g2.id)) 得到的就是其排名!
第二 :
id score ranking
4 99 1
3 97 2
6 97 2
5 95 3
1 90 4
2 87 5
对于这种排名,要连续的,2-》3 这种,可以用以下sql代码
SELECT g1.id ,g1.score, count(DISTINCT(g2.score) )+1 as p FROM `lsw_wechat_game_score` g1 left join `lsw_wechat_game_score` g2 on g1.score < g2.score group by g1.id ORDER BY P;
思路:对于表,进行关联,主要是关联比其分数高的,然后group by 合并相同的行,并且统计合并了多少行,相同的分值只算一个(count(DISTINCT(g2.score))) 得到的就是其排名!