SQL-按列表顺序排序

标签 sql sql-server list

我有以下查询,它返回基于逗号分隔列表的行

Select * from Table where RecordID in (22,15,105,1,65,32)

我希望此查询的结果按照列表中 ID 的顺序返回。这可以用 SQL 实现吗?

提前致谢

最佳答案

select * from Table
where RecordID in (22,15,105,1,65,32)
order by (
    case RecordID 
        when 22 then 1
        when 15 then 2
        when 105 then 3
        when 1 then 4
        when 65 then 5
        when 32 then 6 end)

关于SQL-按列表顺序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6609184/

相关文章:

c# - Dapper 参数化查询导致问题的字符串值?

mysql - MySQL 如何解释 : ORDER BY CASE status WHEN 1 THEN 1 ELSE -1 END DESC

list - Prolog:取列表的前 "N"个元素

sql - 聚集索引是否比包含包含的非聚集索引更快?

java - 数组/列表问题

python - 具有多个条件的掩码列表/张量?

sql - 从列值生成 Hive 行

mysql - SQL 查询时间复杂度

mysql - sql语句中列的顺序会影响查询速度吗?

sql - 将日期时间格式转换为 12 小时制