MySQL按常规排序、自定义排序和按中文拼音字母排序的方法
程序员文章站
2022-06-09 08:56:50
mysql常规排序、自定义排序和按中文拼音字母排序,在实际的sql编写时,我们有时候需要对条件集合进行排序。
下面给出3种比较常用的排序方式,mark一下
1.常规排序...
mysql常规排序、自定义排序和按中文拼音字母排序,在实际的sql编写时,我们有时候需要对条件集合进行排序。
下面给出3种比较常用的排序方式,mark一下
1.常规排序asc desc
asc 正序
desc倒叙
-- 此处不用多讲
2.自定义排序
自定义排序是根据自己想要的特定字符串(数字)顺序进行排序。
主要是使用函数 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...,当第一位相同的时候会比较第二位,以此类推。 如果表字段使用的utf-8编码的话,通常我们都会的编码,这样我们可以使用mysql的convert方法开转换gbk进行排序。
eg:
select * from test order by convert(value using gbk) asc/desc
以上所述是小编给大家介绍的mysql按常规排序、自定义排序和按中文拼音字母排序,希望对大家有所帮助