mysql - 如何将列中的结果放在结果的顶部?
问题描述
我有这个sql:
SELECT x, y FROM table WHERE x = 'a' OR y = 'a'
结果将显示如下内容:
注意:下面的字母代表从列返回的值x
和y
。
a = x
b = y
a
b
b
a
b
我想先从列中获取结果x
。像这样:
a
a
b
b
b
可能吗?我发现的唯一方法是为两个列创建两个 sql,然后使用UNION
;
解决方案
您可以在中使用条件逻辑group by
:
SELECT x, y
FROM table
WHERE x = 'a' OR y = 'a'
ORDER BY (x = 'a') DESC;
MySQL 将布尔值视为整数,分别0
为 false 和1
true。因此DESC
,真正的价值是第一位的。
推荐阅读
- dart - 如何在 Flutter 中停止 Multi-Drag?
- python - 遍历我的数据结构,并在其中输入随机值
- sharepoint - 如何通过 Microsoft 图形 API 在共享点附加文件?
- python - Keras Valueerror:这个模型从未被调用过
- swift - 使用 Quickblox SDK 2.17 将视频作为附件发送
- php - Combination of escapeshellcmd and escapeshellarg
- javascript - 基于 API 分页对象显示数据表分页
- android - Exoplayer 2 Android 不玩 HLS
- environment-variables - Gatsby 如何使用环境变量?
- java - Spring Boot 不为 ZonedDateTime 使用自定义反序列化器