1. 程式人生 > >Mysql自定義排序,order by問題

Mysql自定義排序,order by問題

自定義

常用的order by已經可以解決大部分問題,但如下問題卻不好解決:
狀態status,0:申請,1:通過,-1拒絕
此時新申請的在前,通過在後,拒絕的最後

SELECT * FROM `MyTable` 
ORDER BY FIELD(`status`, 0, 1, -1)

同時,此處的FIELD內部,可以是字串,如下;

SELECT * FROM `MyTable` 
WHERE `name` IN ('張三', '李四', '王五', '孫六') 
ORDER BY FIELD(`name`, '李四', '孫六', '張三', '王五')