我正在建立一个锦标赛系统,需要根据两个标准对球队进行排序:
现在我有一个积分表,一个用于赢得个别游戏,一个用于个别游戏丢失。
我从数据库中按结果排序得到结果(ORDER BY points DESC)。问题出在个人排名上。如果A队和B队的得分相同,但是B队在赢得的比赛和失去的比赛中有更高的积极差异,那么B队的排名将高于A队。
由于所有比赛都不会同时进行,而且有些球队可能会落后于他们的赛程,一个完全可能的情况是一支球队赢得更多胜利,而另一支球队的差距更大。
现在,我能够提出的唯一解决方案如下:
这对我来说似乎非常低效。有更好的想法吗?
答案 0 :(得分:1)
这将有效:
select name, wins, losses, points, (wins - losses) as "diff"
from teams
order by points desc, diff desc