Nav*_*air 5 mysql sql-order-by
嗨,我想排序一个表.该字段包含数字,字母和带字母的数字,即,
1 2 1a 11a a 6a b
我想对此进行排序,
1 1a 2 6a 11a a b
我的代码是,
SELECT * FROM t ORDER BY CAST(st AS SIGNED), st
但结果是,
a b 1 1a 2 6a 11a
我在这个网址中找到了这段代码
"http://www.mpopp.net/2006/06/sorting-of-numeric-values-mixed-with-alphanumeric-values/"有人请帮助我
这将执行您所需的排序顺序,即使存在0于表中;
SELECT * FROM t
ORDER BY
st REGEXP '^[[:alpha:]].*',
st+0,
st
Run Code Online (Sandbox Code Playgroud)
st+0将0添加到字符串开头的数字部分并返回一个int)