mysql - SQL 根据第一列的值对第二列进行排序
问题描述
我正在尝试从表中检索数据,但是我需要生成的游标来优先考虑第一行的排序,然后对于第一列中的每个值,我需要它来检查并根据该值添加第二列中的行.
从:
| Note | ID_1 | ID_2|
|------|------|-----|
| abc | 1 | NULL|
| bcd | 2 | NULL|
| ghu | 3 | NULL|
| cde | 4 | 2 |
| def | 5 | 1 |
到:
| Note | ID_1 | ID_2|
|------|------|-----|
| abc | 1 | NULL|
| def | 5 | 1 |
| bcd | 2 | NULL|
| cde | 4 | 2 |
| ghu | 3 | NULL|
我实际上并不需要它来重新排序表,我只需要返回游标以按该顺序返回值。我尝试按第一列排序,然后检查第二列以及其他一些内容,但没有成功。
SELECT * FROM TBL_X ORDER BY ID_1, ID_2
这甚至可以在 SQL 查询中完成吗?
解决方案
我想你想要:
select t.*
from t
order by coalesce(id_2, id_1), id_1
推荐阅读
- javascript - 我如何摆脱这个边界?
- c# - 在 C# 中创建一个线程并等待操作
- angular - Jasmine 间谍对象模拟方法返回未被覆盖
- mysql - 从另一个表插入并更新第三个表
- reactjs - 使用 Yarn 安装 reactstrap 但出现“无法解析 'reactstrap'”错误
- python - 无法通过 Python 请求发布登录数据
- java - 使用休眠连接 4 个表
- python - 如何将缺少数据的浮点型数据集转换为 int?
- google-bigquery - 在 bigquery 中聚合最大日期
- html - 为什么我的图像没有加载到我的 Jumbotron 的背景中?