MySQL自定義排序

2021-07-27 02:13:31 字數 1340 閱讀 3423

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 * from

table

where name in ('c','b','a') order

by field(name,'c','b','a');

select * from

table

where id in (2,3,4,1,5) order

by locate(id,'2,3,4,1,5');

select * from

table

where id in (2,3,4,1,5) order

by locate(id,'2,3,4,1,5') asc;

select * from

table

where name in ('c','b','a') order

by locate(name,"'c','b','a'");

select * from

table

where id in (2,3,4,1,5) order

by find_in_set(id,'2,3,4,1,5');

select * from

table

where id in (2,3,4,1,5) order

by find_in_set(id,'2,3,4,1,5') asc;

select * from

table

where name in ('c','b','a') order

by find_in_set(name,"'c','b','a'");

注意:

1. 以上方法必須在有in查詢時才能使用

2. order by field的引數是多個,欄位和所有參考值

3. order by locate和order by find_in_set的引數是兩個,欄位和參考值拼成的字串,所以有引號

4. 自定義排序不能用desc,可以用asc

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...

mysql 自定義排序

原表 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比較,...