mysql 使用order by

1、mysql 使用order by field() 自定义排序

order by field(value,str1,str2,str3,str4......strn)

例如:select * from driver_log order by field(name,'Suzi','Ben','Henry');

2、ORDER BY  后可加多个字段,用英文逗号隔开。

f1用升序, f2降序,SQL该这样写

ORDER BY  f1(默认升序), f2  DESC(或者:ORDER BY  f1 ASC, f2  DESC)

如果都用降序,必须用两个desc:ORDER BY  f1 DESC, f2 DESC

例如: 按照code, name进行降序排序:select * from a order by code, name desc;

 对比code,name的单个字段降序排序,我们可以发现, 使用 order by code desc, name desc的时候,MySQL会先以code进行降序排序,在code进行降序排序该基础上,再使用name进行降序排序

另外我们还可以使用contat函数把多个字段拼接起来,在进行排序。但是要保证字段不能为null。下面我们来看一下concat的sql语句和结果。

select * from a order by concat(code,name) desc

结论:order by concat(code, name) desc的效果等同于 order by code desc, name desc

posted @ 2018-10-10 16:09  An-Optimistic-Person  阅读(323)  评论(0编辑  收藏  举报