SQLite - 返回排序列表

时间:2011-05-20 12:21:16

标签: sqlite

我可以用

SELECT * FROM table 
WHERE id IN (478,278,190,890,123)

返回记录列表。

如何指示SQLite返回使用列表中指定的顺序排序的记录?

2 个答案:

答案 0 :(得分:3)

对此类事情没有专门的指示。 你必须为每个案例找到一个解决方案。

在您的示例中,您可以这样做:

SELECT *
  FROM table
 WHERE id IN (478,278,190,890,123)
 ORDER BY CASE id WHEN 478 THEN 0
                  WHEN 278 THEN 1
                  WHEN 190 THEN 2
                  WHEN 890 THEN 3
                  WHEN 123 THEN 4
          END

但是如果你有一长串的ID,就很难维护。

答案 1 :(得分:0)

您可以按字段名称使用订单。在这我假设id select * from table where id in (478,278,190,890,123) order by id