使用标准
时,我在使用MySQL时遇到了一些问题ORDER BY c DESC
这样订购:
3
21
20
2
我希望它是这样的顺序:
21
20
3
2
如果没有在单位数字之前加0,我有什么方法可以做到这一点?
答案 0 :(得分:5)
将列从字符串(VARCHAR,TEXT等)更改为数字列(DOUBLE,INT等)。字符串将按字母顺序排序,3位于2之后。
或者,您可以投射它,但这会为查询添加处理:
ORDER BY CAST(c AS INTEGER) DESC
答案 1 :(得分:2)
您的字段是varchar。更改类型或投射它。
ORDER BY cast(c as unsigned) DESC
答案 2 :(得分:0)
您可以按该列的converted to numeric representation订购。