我的数据表中需要按照字母排序的有中文和英文的数据,我利用ORDER BY CONVERT(fieldname USING gbk) 实现的排序结果是 英文按照a-z排序,之后再按中文的首字母a-z排序
我想要的结果是中文在前,英文再后,请问这个如何实现呢?
我的数据表中需要按照字母排序的有中文和英文的数据,我利用ORDER BY CONVERT(fieldname USING gbk) 实现的排序结果是 英文按照a-z排序,之后再按中文的首字母a-z排序
我想要的结果是中文在前,英文再后,请问这个如何实现呢?
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
直接排序是不行的,要么你就倒序排列,要么就区分一下中英文开头,分开排序再union all,注意union all子句末尾加一个limit 99999,否则可能再某些版本中被重写sql,排序失效。
给一个判断首位字符中英文的方法:length(left(column_name,1))=1就是英文,大于1就是中文