mysql元素的正确排序



例如,我在列号中有这个数据:M1, M2, ... M9, M10, U1, U2。在MySQL查询中,我有:ORDER BY number ASC,但顺序显示为:M1, M10, M2 ... U1, U2。我该怎么做才能使订单如下:M1, M2, ... M9, M10, U1, U2?这可能吗?

如果您去掉第一个字符,然后将结果强制转换为它的整数值,您可以这样做:

...ORDER BY SUBSTRING(mycolumn, 1, 1),
SUBSTRING(mycolumn, 2) + 0

更新为先按字母排序,然后按字母后面的数值排序。

最新更新