我正在尝试将一个查询放在一起,该查询将在顶部显示一条特定记录(由记录的主ID找到),并显示其下方的所有其他记录,按日期排序(我将"date_added"作为其中一个字段表,除了主要ID).
我可以使用UNION(第一个选择将找到我想要的记录,另一个选择将显示所有其他记录),但我想知道是否有更好的方法?
顺便说一下,我正在使用Oracle.
Ada*_*dam 19
您可以通过两个字段排序来完成此操作
第一个是一个表达式,如果行是你想要的那个,则返回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
Run Code Online (Sandbox Code Playgroud)
一种更简单的方法是构造的花哨的顺序.这是pk = 123的示例:
select *
from YourTable
order by case when yourpk = 123 then 1 else 2 end, date_added
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15813 次 |
| 最近记录: |