【发布时间】:2011-11-19 04:51:25
【问题描述】:
我有一个这样的数据集:
print_id
--------
2b
1
2
4b
4a
3
6
2a
5
打印 ID 的格式可以是:/([0-9]+)([a-e]{1})?/
我想要的是先按数字订购它们,如果有的话再按字母订购。如果没有字母,则它是该数字顺序中的第一个。所以结果应该是这样的:
print_id
--------
1
2
2a
2b
3
4a
4b
5
6
我尝试了 ORDER BY (print_id + 0),它正确地对数字进行了排序,但它并没有完全做到这一点。有什么建议吗?
【问题讨论】:
标签: mysql sql sql-order-by natural-sort