gpt4 book ai didi

mysql - 在单个查询中按特定条件升序/降序排序

转载 作者:太空宇宙 更新时间:2023-11-03 11:55:33 30 4
gpt4 key购买 nike

我有如下表格:

+-----+-------------+
| id | status_code |
+-----+-------------+
| 1 | 200 |
| 2 | 301 |
| 3 | 404 |
| 4 | 404 |
| 5 | 0 |
| 6 | 200 |
| 7 | 200 |
+-----+-------------+

如何在单个查询中得到下面的结果?

1) 按状态码降序排列,但 0 在结果的顶部。

+-----+-------------+
| id | status_code |
+-----+-------------+
| 5 | 0 |
| 4 | 404 |
| 3 | 404 |
| 2 | 301 |
| 7 | 200 |
| 6 | 200 |
| 1 | 200 |
+-----+-------------+

2) 按状态码升序排列,但结果末尾为0。

+-----+-------------+
| id | status_code |
+-----+-------------+
| 1 | 200 |
| 6 | 200 |
| 7 | 200 |
| 2 | 301 |
| 3 | 404 |
| 4 | 404 |
| 5 | 0 |
+-----+-------------+

最佳答案

要在顶部获取 0:

ORDER BY status_code = 0 DESC, status_code DESC

要在底部获取 0:

ORDER BY status_code = 0 ASC, status_code ASC

这是有效的,因为比较运算符为 false 返回 0,为 true 返回 1

关于mysql - 在单个查询中按特定条件升序/降序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33013739/

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