SQLite按字段排序

时间:2018-01-14 02:30:51

标签: sqlite

我想在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,也会支持,而不是上面的例子。

谢谢!

1 个答案:

答案 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)

这是你想要的吗?