1. 程式人生 > >mysql 使用order by

mysql 使用order by

word sql str1 log http esc ... comment value

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