MySQL 排序

一、有三种方式

1、常用的 ORDER BY :默认顺序是从小到大(ASC)或DESC倒序。
例如:
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

补充:这三种方式是最基本的三种排序方式,并不是所有,还有函数等。在实际情况中,有些是需要自己去判断/自定义/观察那种方式最合适需要,或自己熟悉那种方式,只要处理了问题,在总结下来,都是排序方式。

原文地址:https://www.cnblogs.com/yuezc/p/12172603.html