排序结果表

时间:2017-08-13 15:57:07

标签: php mysql sorting

对获胜者进行排序。

您如何获得竞赛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

1 个答案:

答案 0 :(得分:0)

只需选择group byORDER 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