gpt4 book ai didi

mysql - 对MySQL结果进行排序,使两列中任意一列具有特定值的结果最后显示

转载 作者:行者123 更新时间:2023-11-29 05:29:47 24 4
gpt4 key购买 nike

假设这是一个名为 fixtures 的表:

id | team1 | team2
1 | 25 | 40
2 | 10 | 0
3 | 13 | 8
4 | 0 | 18
5 | 32 | 12

我需要对结果进行排序,使 team1 为 0 或 team2 为 0 的行排在最后。其他行的顺序无关紧要,只要它们都排在至少有一个 0 的行之前。0 行相对于彼此的顺序也无关紧要。因此,对于上面的示例,输出行 ID 的顺序应该类似于:

1, 3, 5, 2, 4

我知道在获得所有结果后我可以在 PHP 中执行此操作,但我想知道是否有一种方法可以在查询中执行此操作。

注意:所有其他值(0除外)只能是正整数。

最佳答案

试一试

SELECT  ID
FROM TableName
ORDER BY (LEAST(team1, team2) = 0), ID

输出

╔════╗
║ ID ║
╠════╣
║ 1 ║
║ 3 ║
║ 5 ║
║ 2 ║
║ 4 ║
╚════╝

关于mysql - 对MySQL结果进行排序,使两列中任意一列具有特定值的结果最后显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16016255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com