/**//*如何让ORDER BY按指定的顺序排序 表a里有个列叫Type,是商品类别,就3种情况:S,A,B,如下: id name type 1 一班 S 2 五班 A 3 三班 B 4 四班 B 5 二班 A 6 六班 S 现在我需要按照‘S’,‘A’,‘B’的顺序排序,如下: 1 一班 S 6 六班 S 5 二班 A 2 五班 A 3 三班 B 4 四班 B SELECT * FROM tbl_test ORDER BY "@#$$%#$%@$@#$@$@#@$这里应该咋写?" */ select*from a where type='S'unionall select*from a where type='A'unionall select*from a where type='B' select id , name ,type from a orderbycase type when'S'then1 when'A'then2when'B'then3else4end (如果对ID排序,则加最后加,id) select id , name ,type from (select*, case type when'S'then1when'A'then2else3endas seq from a) X orderby seq --上诉对ID列没有进行排序,如果在上诉基础上对ID再进行排序。 select id , name ,type(假设有列id ,name, type) from (select*, case type when'S'then1when'A'then2else3endas seq from a) X orderby seq,id /**//*1 一班 S 6 六班 S 2 五班 A 5 二班 A 3 三班 B 4 四班 B */