- SELECT
- contactLastname,
- contactFirstname
- FROM
- customers
- ORDER BY
- contactLastname DESC, // 倒序
- contactFirstname ASC; // 升序
2, 自定义顺序: FIELD(value,str1,str2,str3,...)
例如: 按 id 的 5,3,7,1 的顺序排序.
- SELECT * FROM `MyTable`
- WHERE `id` IN (1, 7, 3, 5)
- ORDER BY FIELD(`id`, 5, 3, 7, 1)
3, 另外一种方法是使用 case when 来指定排序
例如:
- select * from t where type = 2 order by case
- when 'status'=0 then 1
- when 'status'=1 then 2
- when 'status'=2 then 3
- end asc
补充: 这三种方式是最基本的三种排序方式, 并不是所有, 还有函数等. 在实际情况中, 有些是需要自己去判断 / 自定义 / 观察那种方式最合适需要, 或自己熟悉那种方式, 只要处理了问题, 在总结下来, 都是排序方式.
来源: http://www.bubuko.com/infodetail-3373266.html