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

标签 php mysql sql sql-order-by

所以我在 SQL 查询方面遇到了一些问题,或者可能想决定是否可以在 PHP While 循环中更快地解决这个问题。我有一个小 table ,有 4 支球队,每个球队将根据每个球队在高尔夫、足球和迷你高尔夫中的总得分来分配排名。不同比赛的积分:第一名球队得8分,然后根据每场比赛的得分,其他球队获得6->4->2。然后我将总分转换为排名数字。这是一个例子:

enter image description here

我的问题和我的问题是: 我不希望两支球队分享排名。正如您所看到的,team_id 3 和 2 的总积分相同,因此它们一起排名第 3。我想将此表排在已进行的所有比赛中值(value)最高的球队之后。所以!其中一场比赛中,2 队得到 8 分,高于 3 队的最高分。因此,rank_13 应该如下所示:

enter image description here

我尝试进行一个查询来比较具有相同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/

相关文章:

sql - 为 SQLITE 指定 SELECT 超时

mysql - 如何从表的所有列中判断某列是否是表的主键?

Mysql 上一个日期

javascript - 使用Ajax获取javascript变量的值?

php - 使用column.name而不是column.phpName推进集合

php - 将 CSS 应用于 Joomla 模块中的类

javascript - 如何制作这样的砌体网格?

php - 从服务器上的数据库获取输出,但不在 php 脚本上获取输出

MySQL:删除带有问号符号的列?

PHP PDO Select 语句不起作用