我需要先在列表中显示一组结果,然后从下表中显示其余结果.
我已经尝试过SQL:如何使用UNION并通过特定的选择进行排序?但它似乎不适用于我的情况.
我的查询看起来像这样
SELECT * FROM (
SELECT id, display as ordered
FROM table
WHERE id in (...) --these need to be first
UNION
SELECT id, display
FROM table
WHERE id not in (...) --these need to be at the end
)
ORDER BY ordered
Run Code Online (Sandbox Code Playgroud)
无论我做什么,我的结果都会以显示顺序返回.
我正在使用Oracle,顺便说一句.
谢谢您的帮助.
您需要明确包含数字才能获得排序.此查询首先排序第一个结果集,然后排序第二个结果集.在每个组中,结果再次按id排序.(如果不需要,将其删除)
SELECT id,display FROM (
SELECT id, display,1 as ordered
FROM table
WHERE id in (...) --these need to be first
UNION
SELECT id, display,2
FROM table
WHERE id not in (...) --these need to be at the end
)
ORDER BY ordered,id
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
505 次 |
| 最近记录: |