1、mysql 使用order by field() 自定義排序 order by field(value,str1,str2,str3,str4......strn) 例如:select * from driver_log order by field(name,'Suzi','Ben','Hen ...
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