对获胜者进行排序。
您如何获得竞赛PHP / MYSQL的获胜者。
总价值是决定胜利者的因素。 但是在平局上,价值最高的人赢了。 如果仍然绘制比较第二个值,则首先比较最佳结果。
数据库表有playerid,结果字段。
Playerid result
1 100
1 80
1 80
2 100
2 80
2 40
2 40
3 160
3 100
4 130
4 130
5 270
结果清单
Player1 100,80,80
Player2 100,80,40,40
Player3 160,100
Player4 130,130
Player5 270
通缉结果
Player5
Player3
Player4
Player1
Player2
答案 0 :(得分:0)
只需选择group by
和ORDER BY SUM(result) DESC, COUNT(*)
:
SELECT PlayerId, SUM(result) res FROM resulttbl GROUP BY PlayerId
ORDER BY res DESC,COUNT(*)
我添加了第二个排序标准,因为我猜你想要那些参赛作品较少的球员(=较少的比赛?)。
或者你可以做到
select PlayerId from resulttbl GROUP BY PlayerId
ORDER BY sum(result) DESC, COUNT(*)
如果您不想要列出结果的总和。
您可以在此处找到有效的演示:http://rextester.com/GTHMG11363