我想尝试按特定顺序选择一组特定的数字,以用于循环。
SELECT ID
FROM filter
WHERE id in (87, 97, 117, 52, 240, 76, 141, 137, 157, 255, 186, 196, 133,
175, 153, 224, 59, 205, 65, 47, 105, 80, 113, 293, 161, 145,
192, 149, 231, 91, 101, 109, 215, 121, 125, 64, 41, 291, 367,
388, 391, 462, 467)
这样做会返回按 ID 排序的结果,而不是我指定的顺序。在大多数其他类似问题中,首选答案是对特定条目使用 CASE,但如何按预定顺序选择数百条记录呢?
最佳答案
如果您有数百个项目,则使用派生表,例如:
select f.id
from filter f join
(values(1, 87), (2, 97), (3, 117), . . .) as v(ord, id)
on f.id = v.id
order by ord;
关于sql - 按 IN 运算符中指定的特定顺序选择 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32356519/