按特定/自定义顺序查询Sqlite数据库?

按特定/自定义顺序查询Sqlite数据库?,sqlite,cursor,sql-order-by,Sqlite,Cursor,Sql Order By,假设我有一张桌子,类似这样: ID|标题 1 | AAA 2 | BBB 3 | CCC 4| DDD 5 | EEE … 我想使用IN-opeator执行一个查询,同时保留IN参数的顺序 database.query("some_table", null, ID + " IN("+ idsStr+")", null, null, null, null); 例如,如果查询是“从(4,1,5)中id所在的某个_表中进行选择…”(order by???),我希望返回的游标排序为4,1,5 可能吗

假设我有一张桌子,类似这样:

ID|标题
1 | AAA
2 | BBB
3 | CCC
4| DDD
5 | EEE

我想使用IN-opeator执行一个查询,同时保留IN参数的顺序

database.query("some_table", null, ID + " IN("+ idsStr+")", null, null, null, null);
例如,如果查询是“从(4,1,5)中id所在的某个_表中进行选择…”(order by???),我希望返回的游标排序为4,1,5

可能吗?如何编辑?

编辑:

测试,工作:

SELECT * FROM books WHERE _id IN(4, 1, 5) 
ORDER BY
CASE _id
WHEN '4' THEN 1
WHEN '1' THEN 2
WHEN '5' THEN 3
ELSE 4
END, _id;

我还没有测试上面的user3249477答案,但是假设SQL是正确的(看起来没问题),那么SQLiteDatabase有一个返回游标的rawquery方法

database.rawquery(“从书籍中选择*,其中,_id按大小写顺序排列,_id在'4'时为1,在'1'时为1,在'5'时为2,在'3'时为2”)

第二种方法是(第一种方法是使用<代码>案例,当…然后结束
时,如其他答案中所述):


这句话对qeury时间有影响吗?假设我需要查询10k项?qeury速度如何受到影响?谢谢可能重复的
ORDER BY ID=4 DESC,
         ID=1 DESC,
         ID=5 DESC