sql - 在 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 中获得相同的结果?
解决方案
您可以使用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
推荐阅读
- c# - App.config 将嵌套组添加到现有节点
- html - 如何使用引导程序 3 实现相对内容框?
- assembly - 尝试加载内核时重启循环
- android - 如何在片段中使用来自接口的数据?
- dart - Flutter ListView.Builder 焦点到最后一个图块
- css - bootstrap.css 主题在 ASP.NET Core MVC 中不起作用的原因是什么?
- php - 网络服务器阻止的 PHP file_get 内容
- android - 当recyclerview项目有另一个recyclerview时如何使用分页
- python - 我想在 Python 中为 CNN 自动创建权重
- ruby-on-rails - 使用 Devise 时发生 UrlGenerationError