SQL:尝试按降序排序列,同时忽略顶部的两个记录

时间:2016-12-30 20:47:57

标签: sql sql-server sql-server-2008 sql-server-2012

我正在尝试按列排序,我想忽略一些应该在顶部并按剩余记录排序的记录。非常感谢任何快速帮助。这就是我到目前为止所拥有的。谢谢。

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

2 个答案:

答案 0 :(得分:1)

我认为您正在寻找的语法是:

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

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

  

并按剩余记录排序

答案 1 :(得分:0)

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

这称为条件排序或顺序。基本上,您可以在顶部为您想要的值提供明确的值,然后继续进行常规排序。