我有一个带有文本字段的 mySQL 数据库,其中存储了一个数字。我需要生成按数字降序排序的记录集。这工作正常,直到我们得到大于 10 的数字,即
9 8 7 6 5 4 3 2 10 1
有没有一种“正确”排序的简单方法?(是的,我知道我应该在数字字段中有数字,但我正在使用我所拥有的 :))
我在 asp/vbscript/jquery 页面上使用结果,所以即使是客户端解决方案也是可行的......
有什么建议么?
我有一个带有文本字段的 mySQL 数据库,其中存储了一个数字。我需要生成按数字降序排序的记录集。这工作正常,直到我们得到大于 10 的数字,即
9 8 7 6 5 4 3 2 10 1
有没有一种“正确”排序的简单方法?(是的,我知道我应该在数字字段中有数字,但我正在使用我所拥有的 :))
我在 asp/vbscript/jquery 页面上使用结果,所以即使是客户端解决方案也是可行的......
有什么建议么?
ORDER BY ABS(text_column) DESC
或者,如果您还必须处理负值:
ORDER BY CAST(text_column AS SIGNED) DESC
您需要将其类型转换为INTEGER
使用 CAST
MySQL 中的函数:
ORDER BY CAST(text_column AS UNSIGNED INTEGER)
试试这个——
... ORDER BY text_column * 1