MySQL 实现中英文混合排序,,,,,

时间:2020-12-20 20:17:16
怎样进行某一个字段实现中英文混合排序,,,,
要求实现结果:
    adidas 
    AEE/爱意 
    AF 
    AF棒球帽 
    Agatha 
    Albion/奥尔滨 
    AMD  
    Andox 
    Artini 
    阿拉斯加  
    阿玛尼  
    阿依莲
    benefit
       笔
        贝佳斯
        暴力熊
        cD
       cf 
       card
,,
修改字段字符集改成gbk后,输出的结果排序为adida b c (先为英文的a--->z,后面的为中文)受国者,爱立信 爱慕 爱普生,

9 个解决方案

#1


查询两次 join 一下

#2


一次 between 'a' and 'z' 
一次 order by 字段名 collate chinese_PRC_CS_AS_KS_WS 

#3


排序的规则是什么?汉语拼音?

#4


引用 3 楼 wwwwb 的回复:
排序的规则是什么?汉语拼音?

对,是按a-->Z的顺序来排的,先把所有以a开头的英文、中文排出来,再排b的,依次至z

#5


引用 2 楼 iua1024 的回复:
一次 between 'a' and 'z' 
一次 order by 字段名 collate chinese_PRC_CS_AS_KS_WS 




mysql 中没有这个 chinese_PRC_CS_AS_KS_WS ,使用 gbk_chinese_ci后,

SELECT  name from tb_gb_xyz  order by name collate gbk_chinese_ci;
 查询的结果仍为先a-->z ,后为中文的按a-->z排序,,,,,当然这样join也出错了,,,

#6


用UTF8吧。

#7


学习一下,呵呵           

#8


楼主的问题不是已经解决了吗?还没有结贴?

#9


如有需要,请参考:

http://topic.csdn.net/u/20081126/17/af0e63b0-13fb-42f5-af76-a90e803cb086.html

#1


查询两次 join 一下

#2


一次 between 'a' and 'z' 
一次 order by 字段名 collate chinese_PRC_CS_AS_KS_WS 

#3


排序的规则是什么?汉语拼音?

#4


引用 3 楼 wwwwb 的回复:
排序的规则是什么?汉语拼音?

对,是按a-->Z的顺序来排的,先把所有以a开头的英文、中文排出来,再排b的,依次至z

#5


引用 2 楼 iua1024 的回复:
一次 between 'a' and 'z' 
一次 order by 字段名 collate chinese_PRC_CS_AS_KS_WS 




mysql 中没有这个 chinese_PRC_CS_AS_KS_WS ,使用 gbk_chinese_ci后,

SELECT  name from tb_gb_xyz  order by name collate gbk_chinese_ci;
 查询的结果仍为先a-->z ,后为中文的按a-->z排序,,,,,当然这样join也出错了,,,

#6


用UTF8吧。

#7


学习一下,呵呵           

#8


楼主的问题不是已经解决了吗?还没有结贴?

#9


如有需要,请参考:

http://topic.csdn.net/u/20081126/17/af0e63b0-13fb-42f5-af76-a90e803cb086.html