最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql按照自定義(指定順序)排序的方法實例

 更新時間:2022年06月01日 09:40:23   作者:Quader  
在我們寫業(yè)務代碼的時候,會經(jīng)常碰見排序方式既不是正序也不是倒序,下面這篇文章主要給大家介紹了關于mysql按照自定義(指定順序)排序的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

一、mysql中實現(xiàn)指定排序需求

一般情況下,我們排序都是直接利用 order by 字段 asc/desc;但是如果要排序的字段數(shù)據(jù)格式并不能直接實現(xiàn),或者說我們需要指定的順序且沒有什么規(guī)律,簡單的order by字段就實現(xiàn)不了;

如下圖中表;

我們需要按照中國銀行,建設銀行,工商銀行順序排序;直接使用order by 字段并不能得到我們想要的順序

同樣,對于類型我們想要按正回購,買入,賣出這樣的順序去排序,簡單的order by 字段也不能實現(xiàn);

二、解決方案

1:自定義排序實現(xiàn)

01. case when 轉換實現(xiàn)自定義排序;

使用case when 將字段中的中國銀行,建設銀行,工商銀行,轉換為1,2,3,這樣在我們再使用order by實現(xiàn)數(shù)據(jù)的自定義重排。

02:mysql排序函數(shù)filed 實現(xiàn)自定義排序(推薦);

MySQL中的field()函數(shù),可以用來對SQL中查詢結果集進行指定順序排序。

field(str,str1,str2,str3…)字段str按照字符串str1,str2,str3…的順序返回查詢到的結果集。如果表中str字段值不存在于str1,str2,str3中的記錄,放在結果集最前面返回。

03:函數(shù)locate 實現(xiàn)自定義排序;

還可以利用locate函數(shù)來實現(xiàn)排序;

locate(subStr,string) :判斷字符串(string)中是否包含另一個字符串(subStr),函數(shù)返回的是subStr在string中出現(xiàn)的位置;

04:函數(shù)lnstr 實現(xiàn)自定義排序;

INSTR(STR,SUBSTR) 在一個字符串(STR)中搜索指定的字符(SUBSTR),返回發(fā)現(xiàn)指定的字符的位置(INDEX);

同locate函數(shù)大致一樣,不過函數(shù)內參數(shù)一個在前,一個在后;

05:利用數(shù)據(jù)字典實現(xiàn)自定義排序;

對于部分相對比較固定的字段,一般可以建立數(shù)據(jù)字典項來,不僅方便返回給前端做下拉等,也方便后期添加和修改的維護,也可以在數(shù)據(jù)字典中給與對應的順序;主要可以方便后期調整和維護;只需要修改數(shù)據(jù)字典中的排序即可;

首先,需要在數(shù)據(jù)字典表中建立相應的數(shù)據(jù)字典項并維護順序;

其次,存儲時直接存儲對應的數(shù)據(jù)字典值就可以了,然后關聯(lián)查詢,利用數(shù)據(jù)字典順序排序;即可;

如果順序有變,或者要添加新的類型,也只需要在數(shù)據(jù)字典中維護即可,不需要修改sql,擴展性較好(有需要甚至可以給與數(shù)據(jù)字典的配置頁面專門維護);

總結

到此這篇關于mysql按照自定義(指定順序)排序的文章就介紹到這了,更多相關mysql按照自定義排序內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解MySQL InnoDB的索引擴展

    詳解MySQL InnoDB的索引擴展

    這篇文章主要介紹了MySQL InnoDB的索引擴展的相關資料,幫助大家更好的理解和學習MySQL,感興趣的朋友可以了解下
    2020-08-08
  • MySQL創(chuàng)建數(shù)據(jù)庫的兩種方法

    MySQL創(chuàng)建數(shù)據(jù)庫的兩種方法

    這篇文章主要為大家詳細介紹了MySQL創(chuàng)建數(shù)據(jù)庫的兩種方法,感興趣的小伙伴們可以參考一下
    2016-05-05
  • win7下MySql 5.7安裝配置方法圖文教程

    win7下MySql 5.7安裝配置方法圖文教程

    這篇文章主要為大家分享了win7下MySql 5.7安裝配置方法圖文教程,感興趣的小伙伴們可以參考一下
    2016-05-05
  • mysql數(shù)據(jù)庫優(yōu)化必會的幾個參數(shù)中文解釋

    mysql數(shù)據(jù)庫優(yōu)化必會的幾個參數(shù)中文解釋

    對于自己配置mysql數(shù)據(jù)庫的朋友,需要注意的幾點,下面都是英文的解釋,比較易懂方便和我一樣需要優(yōu)化配置mysql的朋友
    2008-09-09
  • MySQL數(shù)據(jù)庫如何正確設置主鍵

    MySQL數(shù)據(jù)庫如何正確設置主鍵

    主鍵是用于唯一標識數(shù)據(jù)庫表中每一行數(shù)據(jù)的一列或一組列,主鍵可以確保數(shù)據(jù)的唯一性和完整性,這篇文章主要給大家介紹了關于MySQL數(shù)據(jù)庫如何正確設置主鍵的相關資料,需要的朋友可以參考下
    2024-04-04
  • MySQL?Community?Server?8.0.29安裝配置方法圖文教程

    MySQL?Community?Server?8.0.29安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了MySQL?Community?Server?8.0.29安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • mysql獲得60天前unix時間的方法

    mysql獲得60天前unix時間的方法

    首先根據(jù)now()獲得當前時間,使用adddate()方法獲得60天前時間,使用unix_timestamp()方法轉換時間類型,需要的朋友可以參考下
    2014-09-09
  • Mysql索引常見問題匯總

    Mysql索引常見問題匯總

    這篇文章主要介紹了Mysql索引常見問題匯總,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-10-10
  • mysql5.6及以下版本如何查詢數(shù)據(jù)庫里的json

    mysql5.6及以下版本如何查詢數(shù)據(jù)庫里的json

    MySQL里面保存數(shù)據(jù)有時候會把一些雜亂且不常用的時候丟進一個json字段里面,那么如何查詢數(shù)據(jù)庫里的json呢以及mysql存儲json注意那些格式呢?接下來通過本文給大家詳細介紹,需要的朋友參考下
    2017-03-03
  • Mysql空間清理的幾種具體方法

    Mysql空間清理的幾種具體方法

    在Mysql環(huán)境下,常常由于數(shù)據(jù)磁盤滿而導致Mysql故障。本文就介紹了幾種清理方法,具有一定的參考價值,感興趣的可以了解一下
    2021-09-09

最新評論

商城县| 黔东| 互助| 安新县| 西贡区| 深泽县| 基隆市| 张家港市| 麦盖提县| 亚东县| 新绛县| 资阳市| 西充县| 丹巴县| 湖北省| 宁陵县| 景德镇市| 尖扎县| 洛隆县| 双江| 柞水县| 荥经县| 老河口市| 吉首市| 永州市| 开封市| 金山区| 寿阳县| 峡江县| 扎鲁特旗| 岳普湖县| 南岸区| 闻喜县| 十堰市| 辉南县| 乌鲁木齐市| 分宜县| 鸡东县| 伊宁县| 平和县| 武邑县|