我有一个SQL查询,其中我正在获取任意列表,这些ID可能是我想要获取的任何顺序。
select * from apps where id in (3,5,1);
这可以按预期工作。如何创建一个查询,也可以通过此列表对应用程序进行排序,如下所示(哪些不起作用)?或者我是否必须在我的程序的其余部分对它们进行排序?
select * from apps where id in (3,5,1) order by (3,5,1);
答案 0 :(得分:2)
您可以使用case
语句:
select *
from apps
where id in (3, 5, 1)
order by (case id when 3 then 1
when 5 then 2
when 1 then 3
end);