mysql ORDER BY自定義排序

前言

最近一直在忙公司新項目開發, 主要是用go開發後端功能, 所以一直都沒時間寫博客了, 也不知道要寫些啥, 正好剛有個朋友問我排序的問題, 平常用的也比較多, 這裏寫一篇劃波水 (用Go一時爽, 一直用Go一直爽)

開始表演

默認排序

都知道 sql 默認自帶排序, 字符串的話按照字母順序來, 數字的話按照數字大小來, 比如這個樣子
這是表結構
在這裏插入圖片描述
sql 語句及執行結果
在這裏插入圖片描述

自定義排序

實際過程中我們可能會需要自己自定義排序, 比如字段裏的rev, 我想按照 (1,3,2) 這樣的方式來查怎麼辦

select * from docs order by field (rev, 1,3,2) asc;

在這裏插入圖片描述
如果我要 1的優先級最高, 2和3平級按照content來排序呢

select * from docs order by field (rev, 1) desc, content asc;

在這裏插入圖片描述

總結

到這裏基本也就都清楚了, 語法爲 order by field (字段名, 數據排序順序…),
把需要排序的數據寫進去, field函數會進行比較返回 1,2,3進行排序, 默認正序(asc), 沒有數據或不在排序列表返回0;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章