如何使用ORDER BY并比较2列以上

时间:2014-02-07 11:53:53

标签: php mysql sql sql-order-by

所以我遇到了SQL查询的一些问题,或者可能决定是否可以在PHP While循环中更快地解决这个问题。请参阅我有一个包含 4支队伍的小桌子,每个队伍将根据GOLF,FOOTBALL和Miniature GOLF中的每个团队总分数分配一个等级。不同游戏中的积分:对于第一个放置的团队为8,然后根据每个游戏中的得分为6-> 4-> 2给其他团队。然后我将总分转换为排名。这是一个例子:

enter image description here

我的问题和我的问题是: 我不希望两支球队分享排名。正如你所看到的,team_id 3和2具有相同的总分数,因此它们一起排名第3。我希望在任何已经玩过的游戏中具有最高价值的团队之后订购此表。所以!第2队在其中一场比赛中得到8分,高于第3队的最高分。所以rank_13应该是这样的:

enter image description here

我尝试进行一个查询,比较两个具有相同rank_12点的团队,但我不知道如何比较3列。还尝试在PHP中打印第一个表,然后根据3列中的最高值更改显示的值,更加令人困惑。我不知道怎么回事?请给我一个评论。

1 个答案:

答案 0 :(得分:2)

您可以尝试订购以逗号分隔的多个列,并使用GREATEST()查找最大值并进行比较

......order by rank_12 ASC,GREATEST(golf_points,football_points,mini_points)DESC