您好我想排序表.The字段包含数字,字母和数字字母与IE,需要帮助的排序在mysql中
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/ "请人帮我
首先检查CAST是否返回。我认为它会将st转换为数字。运行这个查询:SELECT CAST(st AS SIGNED)FROM t – 2013-05-04 06:32:29
@ asim-ishaq它只返回数字。结果是1,12,11,6,1,2,0,0 – 2013-05-04 06:42:15
字母它会返回0,所以他们总是站在最前面。我们必须考虑一个不同的逻辑 – 2013-05-04 06:47:01