Oracle 如何将特定的一行记录放在查询结果的第一行

今天在用Oracle查询数据的时候遇到了这样一个问题,在查询某些符合条件的数据的时候,发现我还需要在已经查出的数据中找到我想要的某一行也就是特定的一行数据将之放在第一位,那么,这么这个时候我们应该怎么办呢?
其实很简单,前面的查询条件不变,依旧是能查出来符合你要求的默写数据,不过查完之后,你需要在SQL语句的后面加上这么一段
order by decode(字段名,比较值,‘a’,字段名)
decode中的a就是字段名和比较值进行比较后所得的值,由于oracle会对查询出来的数据进行默认排序,此时a会被默认排在第一位。从而达到我们的目的。
例如
ORDER BY DECODE(code,‘3101’,‘1’,ar.area_code)
—这个就是能确保code=3101的排在第一位。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45182619/article/details/114879505