所以我在 SQL 查询方面遇到了一些问题,或者可能想决定是否可以在 PHP While 循环中更快地解决这个问题。我有一个小 table ,有 4 支球队,每个球队将根据每个球队在高尔夫、足球和迷你高尔夫中的总得分来分配排名。不同比赛的积分:第一名球队得8分,然后根据每场比赛的得分,其他球队获得6->4->2。然后我将总分转换为排名数字。这是一个例子:
我的问题和我的问题是: 我不希望两支球队分享排名。正如您所看到的,team_id 3 和 2 的总积分相同,因此它们一起排名第 3。我想将此表排在已进行的所有比赛中值(value)最高的球队之后。所以!其中一场比赛中,2 队得到 8 分,高于 3 队的最高分。因此,rank_13 应该如下所示:
我尝试进行一个查询来比较具有相同rank_12分的两支球队,但我不知道如何在3列上进行比较。还尝试用 PHP 打印第一个表,然后根据 3 列中的最高值更改显示的值,甚至更令人困惑。我是不是不清楚?请给我评论。
最佳答案
您可以尝试对以逗号分隔的几列进行排序,并使用 GREATEST() 来查找最大点并进行比较,如下所示
......order by rank_12 ASC,GREATEST(golf_points,football_points,mini_points)DESC
关于php - 如何使用 ORDER BY 并比较 2 列以上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21627113/