【发布时间】:2012-01-24 15:24:27
【问题描述】:
我正在尝试获取一些产品型号的列表,所有型号都是字母数字。
我试过了
ORDER BY CAST(field_name AS UNSIGNED)
和
ORDER BY field_name + 0
和
ORDER BY LENGTH(field_name)
还有其他一些方法。
它们适用于大多数情况,但有些值与顺序不匹配。
我得到的结果是这样的
EAG-75
EAG-110
...
ESCG-500
ESCG-600
...
EYG-40
EYG-55
...
EMG-440
EMG-20
EMG-27
...
EAG-100
...
我不明白是什么原因造成的。
请帮忙。
提前致谢
【问题讨论】:
-
您希望它们如何排序?举个例子。如果您按字母顺序排序,EAG-110 在 EAG-75 之前
-
我希望它们像 EAG-75 、 EAG-100 、 EAG-110 、 EMG-20 一样按字母数字排序...
-
@Onur:我认为您实际上的意思是“每个非数字前缀,按数字排序”
标签: mysql sql-order-by alphanumeric