【发布时间】:2011-07-02 03:08:05
【问题描述】:
我有下表:
| WinnerID | LoserID |
它描述了两个竞争对手之间的比赛结果。 目前,我有以下查询来生成高分:
SELECT WinnerID
FROM KomperResult
GROUP BY WinnerID
ORDER BY COUNT(LoserID) DESC LIMIT 10;
如果结果是:
| WinnerID | LoserID |
1 2
1 3
4 1
最高分是:
1
4
但我希望它是:
4
1
生成高分的更好算法/查询是什么?
【问题讨论】:
-
第 1 队比第 4 队获胜的次数更多。为什么第 4 队应该排在榜首?
-
您需要添加更多关于如何查看高分的详细信息。例如:WinnerID 记录的数量如何影响结果? WinnerID 如何影响结果?具体来说,为什么 4,1 比 1,4 更好?是按 WinnerID 降序排列的简单排序还是更复杂的排序?
-
看起来 4,1 比 1,4 好,因为 ID 4 在 4 和 1 之间的直接比赛中战胜了 ID 1。@SuprDewd:这是你想要的吗?
-
是的,bw_uezi。但我认为我通过 Kris Babic 的答案的变体解决了这个问题。