mysql用field來定義排序規則

2021-08-03 15:39:15 字數 592 閱讀 8538

mysql的查詢結果有時候會要求按照一定的規則排序,一般是按照id或者時間排序,這樣的需求一般按照order by id desc 之類的就可以完成.但有時候的排序規則不是那麼的有規律,比如說按照姓名排序,如要求的排序規則是:劉強東,馬雲,馬化騰,李彥巨集進行排序,那麼 傳統的order by 就不適用了,必須要用field進行排序了,格式如下

select *

from user_table

where yn = 1

order by field(表中要排序的欄位名,'劉強東','馬雲','馬化騰','李彥巨集')

如果是多重排序規則,比如說先按照名字排序,然後再按照時間排序,則可以這樣

select *

from user_table

where yn = 1

order by field(表中要排序的欄位名,'劉強東','馬雲','馬化騰','李彥巨集'),age desc

這樣就可以安全按照自己的意願去排序了

mysql自定義函式field

mysql可以通過field 函式自定義排序,格式 field value,str1,str2,str3,str4 value與str1 str2 str3 str4比較,返回1 2 3 4,如遇到null或者不在列表中的資料則返回0.這個函式好像oracle中沒有專門提供 也可能是我沒有用到 不過...

MySQL使用FIELD 函式自定義排序

在日常開發過程中,排序是經常用到的,有時候有這樣的需求 需要在查詢結果中根據某個欄位的具體值來排序 如下例子 表名 tb idname ageclass 1iris 16a0 2iris 15a1 3seiki 15a2 4seiki 16a2 5xuding 16a1 6ben 16a0 7ben...

用typedef來定義函式指標

在網上搜尋函式指標,看到乙個例子。開始沒看懂,想放棄,可是轉念一想,這個用法遲早要弄懂的,現在多花點時間看懂它,好過以後碰到了要再花一倍時間來弄懂它。其實很多時候都是這樣,如果每次到難一點的內容,總想著下次我再來解決它,那就永遠也學不到東西。後面那個例子加了注釋,是我對這種用法的理解,希望對新手有所...