mysql資料自定義排序查詢

2021-10-01 03:53:40 字數 683 閱讀 2772

以前做查詢排序,以某個字段進行排序,但是需求需要的順序和字段的順序不一致。

例如:status欄位有值1,2,3

需求是排序2,1,3.

那通常使用的order by ' status' asc/desc 就失去了效果。

方法1:

order by field(is_audit,2,1,3) asc

方法2:

order bycasewhen name like '2' then 2when name like '1' then 1when name like '3' then 3end
方法3:

漢字排序

order by charindex(name,『張三李四王五趙六』)asc

方法4:

thinkphp5的自定義排序

$de = new \think\db\expression('field(lottery_order.winclass, "一等獎", "二等獎", "三等獎", "四等獎", "五等獎", "六等獎", "七等獎", "八等獎", "九等獎")');

db::table('')->where($where) ->order($de)->select();

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