我正在尝试将一个查询放在一起,在顶部显示一条特定记录(由记录的主ID找到),并显示其下面的所有其他记录,按日期排序(我将“date_added”作为其中一个字段表,除了主要ID).
我可以使用UNION(第一个选择将找到我想要的记录,另一个选择将显示所有其他记录),但我想知道是否有更好的方法?
顺便说一下,我正在使用Oracle.
解决方法
您可以通过两个字段排序来完成此操作
第一个是一个表达式,如果该行是您想要的那个,则返回0,如果不是,则返回1.排序将升序,因此您首先获得首选记录.
第二个排序字段是date_added,因此剩余的记录按此顺序排序.
害怕我不知道oracle在sql server中会是这样的
select * from the_table order by (case id when 999 then 0 else 1 end),date_added desc