SQL查询order by子句

如果正常order by A的话,那么就会按0,1,2,3,4,5来排序

但是我想让顺序为:0,4,1,2,5,3,不是正序或倒序,而是按我想的来排

要怎么写

一般会交给应用程序去排,如果非要在SQL里面按自定义排序,那也是可以的。

假设排序字段是orderKey,可以在select中加上(CASE orderKey  WHEN '0' THEN '0' WHEN '4' THEN '1' WHEN '1' THEN '2' WHEN '2' THEN '3' WHEN '5' THEN '4' WHEN '3' THEN '5' ELSE '999' END) ordKey,最后 order by ordKey.

order by A是排序的,你这个不算是排序了,可以再加一个字段去排序,或者按默认的顺序

decode或者case when