MySQL按常規(guī)排序、自定義排序和按中文拼音字母排序的方法
MySQL常規(guī)排序、自定義排序和按中文拼音字母排序,在實(shí)際的SQL編寫(xiě)時(shí),我們有時(shí)候需要對(duì)條件集合進(jìn)行排序。
下面給出3種比較常用的排序方式,mark一下
1.常規(guī)排序ASC DESC
ASC 正序
DESC倒敘
-- 此處不用多講
2.自定義排序
自定義排序是根據(jù)自己想要的特定字符串(數(shù)字)順序進(jìn)行排序。
主要是使用函數(shù) FIELD(str,str1,str2,str3,...)
MySQL的自定義排序,str與str1、str2、str3...進(jìn)行比較,并按照str1,str2,str3...的順序輸出,如果遇到str為null或者不存在str1,str2,str3...中的情況的則序列為0,
eg:
SELECT * FROM TEST ORDER BY FIELD(value,'test1','test2','test3','test4') ASC/DESC
eg2:
SELECT * FROM TEST WHERE VALUE IN('test1','test2','test3','test4') ORDER BY FIELD(value,'test1','test2','test3','test4') ASC/DESC -- 保證只滿(mǎn)足條件的進(jìn)行排序
3.按中文拼音字母排序
如果表字段使用的GBK編碼的話(huà),我們可以直接order by value ,因?yàn)镚BK本身就是按照拼音字母排序ABCDEFGHIGK...,當(dāng)?shù)谝晃幌嗤臅r(shí)候會(huì)比較第二位,以此類(lèi)推。 如果表字段使用的UTF-8編碼的話(huà),通常我們都會(huì)的編碼,這樣我們可以使用MySQL的convert方法開(kāi)轉(zhuǎn)換gbk進(jìn)行排序。
eg:
SELECT * FROM TEST ORDER BY CONVERT(value USING GBK) ASC/DESC
以上所述是小編給大家介紹的MySQL按常規(guī)排序、自定義排序和按中文拼音字母排序,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
mysql 5.7.17 安裝配置方法圖文教程(CentOS7)
這篇文章主要為大家詳細(xì)介紹了CentOS7下mysql 5.7.17 安裝配置方法圖文教程,感興趣的小伙伴們可以參考一下2016-12-12
MySQL?中的行鎖(Record?Lock)?和?間隙鎖(Gap?Lock)詳解
InnoDB中的行鎖(RecordLock)和間隙鎖(GapLock)是用于保證事務(wù)隔離性的兩種鎖機(jī)制,本文給大家介紹MySQL中的行鎖(Record?Lock)?和間隙鎖(Gap?Lock),感興趣的朋友跟隨小編一起看看吧2025-11-11
詳解MYSQL的備份還原(PHP實(shí)現(xiàn))
本篇文章是對(duì)MYSQL的備份還原進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
MySQL啟動(dòng)報(bào)錯(cuò)問(wèn)題InnoDB:Unable to lock/ibdata1 error
這篇文章主要介紹了MySQL啟動(dòng)報(bào)錯(cuò)問(wèn)題InnoDB:Unable to lock/ibdata1 error,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
一文教你在windows中如何同時(shí)安裝兩個(gè)不同版本的Mysql
在項(xiàng)目中可能會(huì)用到多個(gè)版本的Mysql數(shù)據(jù)庫(kù),本文將和大家介紹一下如何在本機(jī)已安裝了一個(gè)MySQL?5.7.38的情況下,再安裝一個(gè)mysql?8.0版本吧2025-03-03
MySQL 常見(jiàn)存儲(chǔ)引擎的優(yōu)劣
眾所周知,MySql 提供了很多存儲(chǔ)引擎,這里來(lái)比較一下常見(jiàn)引擎的優(yōu)劣。幫助大家選擇合適的存儲(chǔ)引擎2021-06-06

