我想在SQLite中使用联系人ID列表进行查询,并根据列表中这些ID的订单位置进行排序。
例如:
select * from Contact where Contact.ID in (1,3,2,4)
// then order by (1,3,2,4)
在SQLite中是否有任何等效的构造,如mysql中的“ORDER BY FIELD”? e.g。
select * from Contact where Contact.ID in (1,3,2,4)
order by field (Contact.ID,1,3,2,4)
如果给出一长串ID,也会支持,而不是上面的例子。
谢谢!
答案 0 :(得分:1)
SELECT *
FROM CONTACT
WHERE CONTACT.ID IN (1,2,3,4)
ORDER BY
CASE ID
WHEN 4 THEN 1
WHEN 3 THEN 0
WHEN 2 THEN 2
WHEN 1 THEN 3
END
按顺序返回(3,4,2,1)
这是你想要的吗?