SQL服务器用例按顺序排列

时间:2014-07-24 13:34:24

标签: sql sql-server mysqli

我表格中的一栏是这样的:

Symbol  
586fast                
urgent         
243late  
296fast  
122late   
155fast   

我首先需要紧急,然后记录快速然后记录,如下所示:

urgent  
586fast  
296fast  
155fast  
243late   
122late

我在第一行急需:

ORDER BY CASE WHEN substring(Symbol, len(Symbol) - 2, 3) = 'ent'THEN 0 ELSE 1 END

之后,它在记录中按编号排序。

2 个答案:

答案 0 :(得分:2)

ORDER BY CASE WHEN CHARINDEX('urgent', Symbol) > 0 THEN 1 
              WHEN CHARINDEX('fast', Symbol) > 0 THEN 2 
              WHEN CHARINDEX('late', Symbol) > 0 THEN 3
              ELSE 4 
         END

答案 1 :(得分:2)

既然你说你在2005年就可以做这样的事情。

order by case 
    when Symbol = 'urgent' then 1
    when Symbol like '%fast' then 2
    when Symbol like '%late' then 3
    else 4 
end