mysql 自定義排序

2021-09-02 13:29:29 字數 627 閱讀 4291

原表 user:

id name roleid

1 aaa 1

2 bbb 2

3 ccc 3

4 ddd 4

5 eee 51,mysql可以通過field()函式自定義排序,格式:field(value,str1,str2,str3,str4),value與str1、str2、str3、str4比較,返回1、2、3、4,如遇到null或者不在列表中的資料則返回0.

例如:select * from user order by field(roleid,2,3,4,1,5);

結果:id name roleid

2 bbb 2

3 ccc 3

4 ddd 4

1 aaa 1

5 eee 5

2,locate(substr,str)函式返回子串substr在字串str中第一次出現的位置,可以根據該函式進行排序

例如:select * from user order by locate(id,'2,3,1,5,4');

結果:id name roleid

2 bbb 2

3 ccc 3

1 aaa 1

5 eee 5

4 ddd 4

MySQL自定義排序

select from table where id in 2,3,4,1,5 order by field id,2,3,4,1,5 select from table where id in 2,3,4,1,5 order by field id,2,3,4,1,5 asc select fro...

mysql自定義排序

1 mysql自定義排序,指定排序輸出 select case when ajj whcd then 未知 when ajj whcd in 初中 中學 then 初中 when ajj whcd in 中專 中技 中專 中技 中師 技工 技校 普高 職專 職中 高中 高中?then 高中 when...

Mysql自定義排序

mysql自定義排序 最近做專案時碰到乙個排序的問題,資料庫中有乙個字段需要按照 0,1,1 的順序來查詢資料庫。無論是正序還是逆序都滿足不了要求,經過查詢,下面的方法可以滿足要求 select from user order by field status 0,1 1 order by field...