首页 > 解决方案 > 在 sqlite 中按相同的输入排序

问题描述

对于我sqlite通常使用的项目,我使用mysql。在 mysql 中,我会进行以下查询:

SELECT * FROM breeds where id in (2, 1, 4) ORDER BY FIELD(id, 2, 1, 4) ASC

我需要按where in ids. 由于FIELD不在 sqlite 中工作,如何在 sqlite 中获得相同的结果?

标签: sqlsqlitesql-order-bycase

解决方案


您可以使用case表达式 - 基本上这就是 MySQLfield()函数的作用:

select *
from breeds
where id in (2, 1, 4)
order by case id
    when 2 then 1
    when 1 then 2
    when 4 then 3
end

推荐阅读