mysql按照首字母排序
Posted 梦与光同行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql按照首字母排序相关的知识,希望对你有一定的参考价值。
今天测试提了个需求,按照字段的首字母进行排序
由于一般数据库编码大都为utf-8 ,他的排序方式为按英文字母规则排序 "a,b,c… "
由上表看出,只要我们在排序时将需要排序的字段转化为GBK编码再进行排序,就可以实现按照字段首字母进行排序了, 怎样才能将编码转化为GBK呢?在mysql中提供了函数CONVERT() ,该函数可用来获取一个类型的值
该函数的使用方式为 CONVERT(字段 USING GBK)
例如:
SELECT * FROM table ORDER BY CONVERT(field USING GBK) ASC
下面是我sql例子 ,我的需求是按照单位的首字母排序
没有排序前
select
ier.id,
eor.id cid,
eor.sort,
ier.title,
ier.summary,
ier.expert_desc,
ier.proposal,
eor.status,
ier.tenant_id,
eor.level_one_code,
eor.cycle_id,
eor.monitor_organ_id,
eor.project_id,
so.name monitorOrganName
from
index_expert_reviews ier
left join
expert_organ_relation eor
on eor.expert_id=ier.id
and eor.tenant_id = ier.tenant_id
left join
sys_organ so
on so.id=eor.monitor_organ_id
and so.tenant_id = ier.tenant_id
LIMIT 0,
10
排序后
select
ier.id,
eor.id cid,
eor.sort,
ier.title,
ier.summary,
ier.expert_desc,
ier.proposal,
eor.status,
ier.tenant_id,
eor.level_one_code,
eor.cycle_id,
eor.monitor_organ_id,
eor.project_id,
so.name monitorOrganName
from
index_expert_reviews ier
left join
expert_organ_relation eor
on eor.expert_id=ier.id
and eor.tenant_id = ier.tenant_id
left join
sys_organ so
on so.id=eor.monitor_organ_id
and so.tenant_id = ier.tenant_id
order by
CONVERT( monitorOrganName USING GBK) ASC LIMIT 0,
10
可以发现虚拟在最下面了
以上是关于mysql按照首字母排序的主要内容,如果未能解决你的问题,请参考以下文章