“按价格排序”在MySQL中返回一个奇怪的顺序

时间:2012-01-16 23:29:23

标签: php mysql

我有一个仅限本地的项目,我正在制作一个包含idtitleprice字段的表格。

示例信息:

ID || Title || Price
1 - Title 1 - 8.00
2 - Title 2 - 75.00
3 - Title 3 - 70.00

当我尝试ORDER BY price时,它会像这样回来:

8.00
75.00
70.00

说明:

$query = mysql_query("Select * From table ORDER BY price DESC");

我做错了什么?

1 个答案:

答案 0 :(得分:8)

您的price列必须包含字符CHAR() or VARCHAR()类型,而不是数字类型。将其投放为DECIMAL中的ORDER BY

Select * From table ORDER BY CAST(price AS DECIMAL(10,2)) DESC

真正的解决方法是将price数据类型更改为正确的数字类型。