MySQL常規(guī)排序、自定義排序和按中文拼音字母排序,在實際的SQL編寫時,我們有時候需要對條件集合進(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 -- 保證只滿足條件的進(jìn)行排序
3.按中文拼音字母排序
如果表字段使用的GBK編碼的話,我們可以直接order by value ,因為GBK本身就是按照拼音字母排序ABCDEFGHIGK...,當(dāng)?shù)谝晃幌嗤臅r候會比較第二位,以此類推。 如果表字段使用的UTF-8編碼的話,通常我們都會的編碼,這樣我們可以使用MySQL的convert方法開轉(zhuǎn)換gbk進(jìn)行排序。
eg:
SELECT * FROM TEST ORDER BY CONVERT(value USING GBK) ASC/DESC
以上所述是小編給大家介紹的MySQL按常規(guī)排序、自定義排序和按中文拼音字母排序,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- Mysql row number()排序函數(shù)的用法和注意
- 將MySQL查詢結(jié)果按值排序的簡要教程
- 兩種mysql對自增id重新從1排序的方法
- MySQL中按照多字段排序及問題解決
- mysql的中文數(shù)據(jù)按拼音排序的2個方法
- Mysql中的排序規(guī)則utf8_unicode_ci、utf8_general_ci的區(qū)別總結(jié)
- 數(shù)據(jù)庫查詢排序使用隨機排序結(jié)果示例(Oracle/MySQL/MS SQL Server)
- mysql 關(guān)鍵詞相關(guān)度排序方法詳細(xì)示例分析
- MYSQL 關(guān)于兩個經(jīng)緯度之間的距離由近及遠(yuǎn)排序
- 讓MySQL支持中文排序的實現(xiàn)方法