我想在自定义序列中从数据库中获取数据。 例如,如果查询是;
SQL>Select * from table1 where id in(5,3,4)
所以预期结果会是。
Id | Name
----------
5 | John
3 | David
4 | Rock
但数据按以下顺序显示:
Id | Name
----------
3 | David
4 | Rock
5 | John
任何人都可以帮我实现这个结果吗?
答案 0 :(得分:1)
where子句与结果的顺序无关。
您可以使用“按XXX排序”按特定列排列结果
但正如我在您的示例中所看到的,它不是按ID或名称排序的。
所以...我建议添加另一个名为“position”或“pos”的列,它将包含一个具有所需顺序的整数,而不是包含该列顺序的简单查询。
select *
from table1
where id in(5,3,4)
order by position
答案 1 :(得分:0)
检查一下,它会给出你想要的订单
Select * from table1 where id=5
Union all
Select * from table1 where id=3
union all
Select * from table1 where id=4