我正在运行一个select,它返回字母数字结果,例如:
ABC-1
ABC-2
ABC-10
SAM-1
SAM-2
SAM-10
SAM-20我试过使用:
ORDER BY CAST(mid(field_name, 6, LENGTH(class) -5) AS unsigned)和
ORDER BY filed_name + 0 ASC这有助于排序,但我似乎不能在-10之前排序-2
非常感谢
发布于 2010-04-19 20:28:46
怎么样
ORDER BY
LEFT(field_name, INSTR(field_name, '-') - 1),
CAST(
SUBSTRING(field_name, INSTR(field_name, '-') + 1) AS INTEGER
)https://stackoverflow.com/questions/2667304
复制相似问题