SQL自定义优先级

SQL自定义优先级,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,我必须按多行排序表格,其中一行是“自定义”。该列中有4个值,优先级应该是-60或151,然后是30或111。所以我有4个具体的值,如果-60在151之后,它不应该被排序,如果-60在30之后,它应该被排序 谢谢。您可以按顺序使用案例陈述 select SomeColumn from YourTable order by case custom when -60 then 1 when 151 then 1 when 30 the

我必须按多行排序表格,其中一行是“自定义”。该列中有4个值,优先级应该是-60或151,然后是30或111。所以我有4个具体的值,如果-60在151之后,它不应该被排序,如果-60在30之后,它应该被排序


谢谢。

您可以按顺序使用案例陈述

select SomeColumn
from YourTable
order by case custom 
           when -60 then 1
           when 151 then 1
           when 30 then 2
           when 111 then 2
         end
或者类似的事情

select SomeColumn
from YourTable
order by nullif(nullif(custom, -60), 151)

您可以这样使用查询:

select *
from Table1
order by
    field1,
    field2,
    field3,           
    case
       when custom = -60 then 0
       when custom = 151 then 0
       when custom = 30 then 1
       when custom = 111 then 1
    end asc

42不会出错的!说真的,请提供更多细节并举例说明。你希望我们理解这个问题吗?米凯尔理解了,就是这样。@elninho:似乎没有人告诉你,你可以(并且受到极大鼓励)找到对你有用的答案。这是感谢帮助过你的人的好方法,也是帮助别人更快找到正确答案的好方法。