mysql - 带条件的 SQL 排序
问题描述
我有一张有球员的桌子。管理员想要按条件对玩家进行排序。如果列activerank = 1
,则播放器添加到排序,否则如果activerank = 2
播放器应显示在播放器末尾。我怎样才能做到这一点?
这是我的查询,没有这个条件:
$sql = '
SELECT c.*
FROM `child` AS c
WHERE '
c.`id` > 0
' ORDER BY c.`rank` DESC ';
解决方案
您可以通过 activerank Ascending 使用额外的排序一阶
SELECT c.*
FROM `child` AS c
WHERE '
c.`id` > 0
' ORDER BY activerank ASC, c.`rank` DESC '
在此查询中,拥有的玩家activerank = 1
将排在第一位,并将根据排名在其中排序,拥有的玩家activerank = 2
将排在最后
对于更高级的排序,我建议使用CASE CLAUSE
推荐阅读
- javascript - 多个 HTML5 音频播放器 - 启动另一个时停止播放一个
- php - 从 Wordpress 主题中删除 PHP 头像操作不起作用
- javascript - 使用嵌套子级减少 javascript 数组
- javascript - 如何使用 AntD 抽屉在 div onMount 底部滚动
- ionic4 - Ionic 4 Radio Streaming App 与 icecast2 背景模式和 Audio() 网络功能
- c - C中的补码运算符
- javascript - 在nodejs中将图像从url保存到db
- c++ - 从 Windows 的系统菜单中删除移动和关闭命令而不丢失功能
- python-3.x - 每当我尝试安装 pygame lab 时,总会出现这个错误
- haskell - 如何将 Yesod 配置为仅在 localhost 上侦听?