0

我正在运行一个返回字母数字结果的选择,例如:

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

非常感谢

4

1 回答 1

1

怎么样

ORDER BY 
  LEFT(field_name, INSTR(field_name, '-') - 1),
  CAST(
    SUBSTRING(field_name, INSTR(field_name, '-') + 1) AS INTEGER
  )
于 2010-04-19T12:28:46.383 回答