mysql 数目字字母排序

mysql 数字字母排序有a表如下字段id 1 a 2 b 3 c排序后要得到id a b c 1 2 3也就是说字符按照字符来排序,

mysql 数字字母排序
有a表如下字段 
id 1 a 2 b 3 c
排序后要得到  
id a b c 1 2 3 
也就是说字符按照字符来排序,数字按照数字来排序
看过一个解决方案
select Id from a order by (case when REGEXP_LIKE(trim(Id),'^[0-9]+$') then ascii(Id)+74 else ascii(Id) end) 
结果mysql不能识别 REGEXP_LIKE

[解决办法]

SQL code
select 'id' as chunion select '1'union select 'a'union select '3'union select 'c'union select '2'union select 'b'order by length(ch) desc, ch+0=0 desc, ch