《MYSQL數(shù)據(jù)庫(kù)MySQL按常規(guī)排序、自定義排序和按中文拼音字母排序的方法》要點(diǎn):
本文介紹了MYSQL數(shù)據(jù)庫(kù)MySQL按常規(guī)排序、自定義排序和按中文拼音字母排序的方法,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
MySQL常規(guī)排序、自定義排序和按中文拼音字母排序,在實(shí)際的SQL編寫(xiě)時(shí),我們有時(shí)候需要對(duì)條件集合進(jìn)行排序.MYSQL數(shù)據(jù)庫(kù)
下面給出3種比較常用的排序方式,mark一下MYSQL數(shù)據(jù)庫(kù)
1.常規(guī)排序ASC DESCMYSQL數(shù)據(jù)庫(kù)
ASC 正序MYSQL數(shù)據(jù)庫(kù)
DESC倒敘MYSQL數(shù)據(jù)庫(kù)
-- 此處不用多講MYSQL數(shù)據(jù)庫(kù)
2.自定義排序MYSQL數(shù)據(jù)庫(kù)
自定義排序是根據(jù)自己想要的特定字符串(數(shù)字)順序進(jìn)行排序.MYSQL數(shù)據(jù)庫(kù)
主要是使用函數(shù) FIELD(str,str1,str2,str3,...)MYSQL數(shù)據(jù)庫(kù)
MySQL的自定義排序,str與str1、str2、str3...進(jìn)行比較,并按照str1,str2,str3...的順序輸出,如果遇到str為null或者不存在str1,str2,str3...中的情況的則序列為0,MYSQL數(shù)據(jù)庫(kù)
eg:MYSQL數(shù)據(jù)庫(kù)
SELECT * FROM TEST ORDER BY FIELD(value,'test1','test2','test3','test4') ASC/DESC
eg2:MYSQL數(shù)據(jù)庫(kù)
SELECT * FROM TEST WHERE VALUE IN('test1','test2','test3','test4') ORDER BY FIELD(value,'test1','test2','test3','test4') ASC/DESC -- 保證只滿足條件的進(jìn)行排序
3.按中文拼音字母排序MYSQL數(shù)據(jù)庫(kù)
如果表字段使用的GBK編碼的話,我們可以直接order by value ,因?yàn)镚BK本身就是按照拼音字母排序ABCDEFGHIGK...,當(dāng)?shù)谝晃幌嗤臅r(shí)候會(huì)比較第二位,以此類推. 如果表字段使用的UTF-8編碼的話,通常我們都會(huì)的編碼,這樣我們可以使用MySQL的convert方法開(kāi)轉(zhuǎn)換gbk進(jìn)行排序.
MYSQL數(shù)據(jù)庫(kù)
eg:MYSQL數(shù)據(jù)庫(kù)
SELECT * FROM TEST ORDER BY CONVERT(value USING GBK) ASC/DESC
以上所述是小編給大家介紹的MySQL按常規(guī)排序、自定義排序和按中文拼音字母排序,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的.在此也非常感謝大家對(duì)維易PHP網(wǎng)站的支持!MYSQL數(shù)據(jù)庫(kù)
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/3723.html