按sqlite中的相同输入排序
对于我的项目,我使用按sqlite中的相同输入排序,sql,sqlite,sql-order-by,case,Sql,Sqlite,Sql Order By,Case,对于我的项目,我使用sqlite通常我使用mysql。在mysql中,我会进行以下查询: SELECT * FROM breeds where id in (2, 1, 4) ORDER BY FIELD(id, 2, 1, 4) ASC 我需要按ID中的位置下单。如何在sqlite中获得相同的结果,因为FIELD在sqlite中不起作用?您可以使用case表达式-基本上MySQL的FIELD()函数就是这样做的: select * from breeds where id in (2, 1,
sqlite
通常我使用mysql。在mysql中,我会进行以下查询:
SELECT * FROM breeds where id in (2, 1, 4) ORDER BY FIELD(id, 2, 1, 4) ASC
我需要按ID中的
位置下单。如何在sqlite中获得相同的结果,因为FIELD
在sqlite中不起作用?您可以使用case
表达式-基本上MySQL的FIELD()
函数就是这样做的:
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
您可以使用case
表达式-基本上MySQL的field()
函数就是这样做的:
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
如果可以创建一个以逗号分隔的ID列表字符串,如'2,1,4'
,则可以使用函数INSTR()
:
如果可以创建一个以逗号分隔的ID列表字符串,如'2,1,4'
,则可以使用函数INSTR()
:
使用INSTR(),例如。。。列表中的posession和substring start是相对相同的。。。列表中的posession和substring start相对相同。