【发布时间】:2016-04-18 10:20:56
【问题描述】:
我有一个包含以下值的表:
create temporary table test (name char(6))
insert into test values ('001A1');
insert into test values ('BIKE');
insert into test values ('N01A2');
insert into test values ('NILA');
insert into test values ('NW001');
我需要将它们排序为:
BIKE
NILA
NW001
N01A2
001A1
我已经试过了:
SELECT * FROM test
order by IF(name RLIKE '^[a-z]', 1, 2), name
得到:
BIKE
N01A2
NILA
NW001
001A1
如何让它们先按字母排序,再按数字排序?
【问题讨论】:
-
我认为没有内置的排序规则支持您想要做的事情。这将使它相当困难。只为第一个字母做这件事并不难。
标签: mysql sorting alphabetical