关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
两年前关门了。
改进这个问题
我有一张有球员的table。管理员想根据条件对玩家进行排序。if列 activerank = 1
然后玩家增加排序,如果 activerank = 2
球员应该出现在球员的末尾。我该怎么做?
这是我的问题,没有这个条件:
$sql = '
SELECT c.*
FROM `child` AS c
WHERE '
c.`id` > 0
' ORDER BY c.`rank` DESC ';
2条答案
按热度按时间ohtdti5x1#
您可以按activerank升序使用额外的排序
在这个查询中
activerank = 1
将是第一个,并将在其中排序,根据职级和球员与activerank = 2
将是最后一个对于更高级的排序,我建议使用case子句
jqjz2hbq2#
你可以尝试添加
CASE WHEN
在ORDER BY
,并使用多个ORDER BY
```SELECT c.*
FROM
child
AS cWHERE 'c.
id
> 0'ORDER BY c.
rank
DESC,(
CASE activerank
WHEN 1 THEN 0
WHEN 2 THEN 1
END
)