有什么方法可以从特定记录开始写入选择记录?假设我有一个包含以下数据的表:
SNO ID ISSUE
----------------------
1 A1 unknown
2 A2 some_issue
3 A1 unknown2
4 B1 some_issue2
5 B3 ISSUE4
6 B1 ISSUE4
我可以编写一个选择来开始显示以B1开头的记录,然后显示其余记录吗?输出应该是这样的:
4 B1 some_issue2
6 B1 ISSUE4
1 A1 unknown
2 A2 some_issue
3 A1 unknown2
5 B3 ISSUE4
B3是否最后一个都没有关系,只应该首先显示B1。
最佳答案
取决于您提前知道的内容的几个不同选项(即您想成为第一条记录的ID,sno等):
联合方式:
select 1 as sortOrder, SNO, ID, ISSUE
from tableName
where ID = 'B1'
union all
select 2 as sortOrder, SNO, ID, ISSUE
from tableName
where ID <> 'B1'
order by sortOrder;
案例陈述按以下顺序排列:
select SNO, ID, ISSUE
from tableName
order by case when ID = 'B1' then 1 else 2 end;
您也可以考虑使用临时表,CTE等,但是这些方法的性能可能会降低...在您的环境中尝试几种不同的方法以查看哪种方法最有效。
关于sql - sql select从特定记录开始,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1835147/