在我的表格中 https://www.db-fiddle.com/f/4yPorU6k3SjQ5nmhgi1wGo/0
我使用查询
SELECT id
FROM test
ORDER BY id <= 7 DESC, id DESC
我想订购从 7 到较小的所有东西,然后按较小的订购其他所有东西
我的查询给我
| id |
| --- |
| 6 |
| 3 |
| 2 |
| 1 |
| 65 |
| 35 |
| 34 |
| 33 |
| 12 |
| 11 |
| 11 |
| 10 |
但我想给我
| id |
| --- |
| 6 |
| 3 |
| 2 |
| 1 |
| 10 |
| 11 |
| 11 |
| 12 |
| 33 |
| 34 |
| 35 |
| 65 |
考虑一个条件排序,如下所示:
select id
from test
order by
case when id <= 7 then id end desc,
id
DB小提琴上的演示:
|编号 | |-: | | 6 | | 3 | | 2 | | 1 | |10 | |11 | |11 | |12 | |33 | |34 | |35 | |65 |
我想你想要:
SELECT id
FROM test
ORDER BY id <= 7 DESC,
(CASE WHEN id <= 7 THEN id END) DESC,
id ASC