明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

解析MySQL按常規(guī)排序、自定義排序與按中文拼音字母排序的方法

[摘要]MySQL常規(guī)排序、自定義排序和按中文拼音字母排序,在實際的SQL編寫時,我們有時候需要對條件集合進行排序。下面給出3種比較常用的排序方式,一起看看吧MySQL常規(guī)排序、自定義排序和按中文拼音字母排序,在實際的SQL編寫時,我們有時候需要對條件集合進行排序。下面給出3種比較常用的排序方式,mark...
MySQL常規(guī)排序、自定義排序和按中文拼音字母排序,在實際的SQL編寫時,我們有時候需要對條件集合進行排序。下面給出3種比較常用的排序方式,一起看看吧

MySQL常規(guī)排序、自定義排序和按中文拼音字母排序,在實際的SQL編寫時,我們有時候需要對條件集合進行排序。

下面給出3種比較常用的排序方式,mark一下

1.常規(guī)排序ASC DESC

ASC 正序

DESC倒敘

-- 此處不用多講

2.自定義排序

自定義排序是根據(jù)自己想要的特定字符串(數(shù)字)順序進行排序。

主要是使用函數(shù) FIELD(str,str1,str2,str3,...)

MySQL的自定義排序,str與str1、str2、str3...進行比較,并按照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 -- 保證只滿足條件的進行排序

3.按中文拼音字母排序

如果表字段使用的GBK編碼的話,我們可以直接order by value ,因為GBK本身就是按照拼音字母排序ABCDEFGHIGK...,當?shù)谝晃幌嗤臅r候會比較第二位,以此類推。 如果表字段使用的UTF-8編碼的話,通常我們都會的編碼,這樣我們可以使用MySQL的convert方法開轉(zhuǎn)換gbk進行排序。

eg:

SELECT * FROM TEST ORDER BY CONVERT(value USING GBK) ASC/DESC

以上就是解析MySQL按常規(guī)排序、自定義排序和按中文拼音字母排序的方法的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學習教程快速掌握從入門到精通的SQL知識。