Mysql自定義排序

2021-08-21 02:34:29 字數 455 閱讀 5533

mysql自定義排序

最近做專案時碰到乙個排序的問題,資料庫中有乙個字段需要按照(0,1,-1)的順序來查詢資料庫。無論是正序還是逆序都滿足不了要求,經過查詢,下面的方法可以滿足要求:

select * from user order by field(`status`, 0, 1 ,- 1)
order by field()引數解析:

第乙個引數是資料庫表中的字段,也就是要排序的字段,後面的引數為排序的順序,可以寫任意多個

舉例:

select * from user order by field('name','張三','李四','王五','趙六','陳七')
值得注意的是,當上面**中的status值存在(0,1,-1)之外的值時,其他的值會排列在(0,1,-1)前面

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 自定義排序

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