2011-08-31 30 views
1

我需要订购以下行:
10A
10B
11C
5A
5B
5C
9CMysql如何为ORDER BY?

,其结果应该是:
5A
5B
5C
9c
10A
10B
11C

现在我的查询看起来是这样的:

SELECT klass,id FROM klassid WHERE klass!='' ORDER BY klass ASC 

这可能吗?

在此先感谢

回答

3

要确保数值排序,强制值为整数。一个简单的方法是将它放在数字表达式上下文中。

然后要解决关系,请按原始字符串值排序。

SELECT klass,id FROM klassid WHERE klass!='' 
ORDER BY klass+0 ASC, klass ASC 
+0

那正是我需要的!谢谢! –