0

我有一个带有文本字段的 mySQL 数据库,其中存储了一个数字。我需要生成按数字降序排序的记录集。这工作正常,直到我们得到大于 10 的数字,即

9
8
7
6
5
4
3
2
10
1

有没有一种“正确”排序的简单方法?(是的,我知道我应该在数字字段中有数字,但我正在使用我所拥有的 :))

我在 asp/vbscript/jquery 页面上使用结果,所以即使是客户端解决方案也是可行的......

有什么建议么?

4

3 回答 3

1
ORDER BY ABS(text_column) DESC

或者,如果您还必须处理负值:

ORDER BY CAST(text_column AS SIGNED) DESC
于 2012-07-30T10:52:22.397 回答
0

您需要将其类型转换为INTEGER使用 CASTMySQL 中的函数:

ORDER BY CAST(text_column AS UNSIGNED INTEGER)
于 2012-07-30T10:54:42.303 回答
0

试试这个——

... ORDER BY text_column * 1
于 2012-07-30T10:56:58.340 回答