mysql:使用field函数。
select * from a order by field(name,'val1','val2','val3');
其中name是你要排序的字段,后面是字段的值,比如select * from a field(age,'18','20','19');
以上是自定义条件排序,多条件就是select * from a order by(field(age,'18','20','19'),field(name,'张三','李四','王五'));
oracle:使用decode函数。
select * from b order by decode(name,'val1',1,'val2',2,'val3',3);
其中name是你要排序的字段,单引号中是字段的值,单引号后面的数字是序号,就是这个值排在第几位,比如select * from b order by decode(money,'4000',1'6000',2,'1000',3);
多条件同mysql一样,也是在order by函数里排列写。