使用标准时,在使用MySQL进行订购时遇到了一些麻烦

ORDER BY c DESC


它是这样订购的:

3
21
20
2


我希望它是这样的:

21
20
3
2


有什么办法可以在不将一位数字前加0的情况下执行此操作?

最佳答案

将您的列从字符串(VARCHAR,TEXT等)更改为数字列(DOUBLE,INT等)。字符串将按字母顺序排序,并且3在2之后。

或者,可以对其进行强制转换,但这将处理添加到查询中:

ORDER BY CAST(c AS INTEGER) DESC

关于php - 订购具有不同位数的MySQL数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8452590/

10-13 22:27