我有一个 MySQL 表,我希望它的一部分以不同的方式排序。例如,我想要以下结果集:
+----+
| id |
+----+
| 1 | #ascending
| 2 |
| 3 |
| 4 |
| 8 | #descending
| 7 |
| 6 |
| 5 |
+----+
我基本上想做类似的事情:
ORDER BY
WHEN id <= 4 THEN
id ASC
ELSE
id DESC
END;
这当然是胡说八道。有没有一个合理的等价物?我试过使用UNION,但子查询顺序被忽略了。