显示自定义序列中的记录

时间:2015-02-26 10:03:06

标签: sql database

我想在自定义序列中从数据库中获取数据。 例如,如果查询是;

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

任何人都可以帮我实现这个结果吗?

2 个答案:

答案 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