SQL 自定义排序方式

SQL Custom Sort By

假设我在专栏中有这个:

'a'
'b'
'c'
'd'
'e'

我希望数据按如下所示排序:

'a'
'b'
'd'
'e'
'c'

这可能吗?

select letter
from letters
order by
   case letter
     when 'a' then 0
     when 'b' then 1
     when 'd' then 2
     when 'e' then 3
     when 'c' then 4
   end

另一种使用 CASE 语句的方法是,

查询

select [column_name] 
from [your_table_name]
order by 
  case [column_name] 
  when 'c' then 2 
  else 1 end, 
[column_name];

Find a demo here