2016-12-30 19 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作爲輔助排序,因爲你提到:

和秩序由剩餘的記錄