结果分拣表
问题描述:
排序获胜者。结果分拣表
您将如何获得竞争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
WANTED RESULT
Player5
Player3
Player4
Player1
Player2
答
只需使用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
只是排序上导致每个球员 – peakpeak