2016-12-30 54 views
1

我试图按列排序,而我想忽略几条应位于顶部的记录,并按剩余记录排序。任何快速的帮助,非常感谢。这是我迄今为止所拥有的。谢谢。SQL:尝试按降序排列而忽略顶部的两条记录

select * 
from table 
order by case when column in (1,2) then order by 1 desc; 
+0

我的意思是我想忽略我顶部的条件行并排列其他行 –

+0

尝试使用JOIN – mike510a

+0

这是SQL 2008还是2012?这很重要,因为OFFSET FETCH可以为您做到这一点 –

回答

0
select * 
from table 
order by case when column in (1,2) then 1 else 2 end asc, column desc 

这被称为条件排序或顺序。本质上,你给那些你想在顶部的那些明确的值,然后继续你的正常排序。

1

我认为你正在寻找的语法是这样的:

Select  * 
From  Table 
Order By Case When Column In (1,2) Then 0 Else 1 End, 
      Column; 

我加了Column作为辅助排序,因为你提到:

和秩序由剩余的记录