【发布时间】:2015-10-02 08:57:01
【问题描述】:
我有一个数据库,其中有一列包含以下数据:
aaa-1
aaa-2
aaa-3
...
aaa-10
aaa-11
...
aaa-100
aaa-101
...
aaa-1000
当我按升序查询和排序数据时,我得到:
aaa-1
aaa-10
aaa-11
...
aaa-100
aaa-101
...
aaa-1000
...
aaa-2
...
aaa-3
这实际上是正确的(机器)排序方式吗?订单是否因为aaa- 前缀而搞砸了?我该如何按照人类的方式进行排序(即看起来像第一个 sn-p 的东西)?
附:如果问题确实出在前缀上,有没有办法将其删除并仅使用数字组件进行排序?
附言有人建议我,我应该只更改我的数据并添加前导零,例如aaa-0001 和aaa-0002 等。但是,我不愿意采用这种方法,因为每次列表上升 10 位时,我必须重新格式化此列。
提前谢谢大家! :)
【问题讨论】:
标签: mysql sorting columnsorting