mysql 使用order by

Posted GJQUser

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于mysql 使用order by的主要内容,如果未能解决你的问题,请参考以下文章

mysql order by无效问题

mysql 用 group by 和 order by同时使用

Mysql之order by|group by 排序优化

在 mysql 中使用 group by 查询和 order by 查询选择

mysql 使用order by

加速使用 Group By 和 Order By 的多表 Mysql 查询