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

rac*_*420 1 php mysql

我有我的工作,我有一个表仅本地项目id,title以及price多个领域.

示例信息:

ID || Title || Price
1 - Title 1 - 8.00
2 - Title 2 - 75.00
3 - Title 3 - 70.00
Run Code Online (Sandbox Code Playgroud)

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

8.00
75.00
70.00
Run Code Online (Sandbox Code Playgroud)

声明:

$query = mysql_query("Select * From table ORDER BY price DESC");
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Mic*_*ski 8

您的price列必须具有字符CHAR() or VARCHAR()类型而不是数字类型.投它作为一个DECIMALORDER BY:

Select * From table ORDER BY CAST(price AS DECIMAL(10,2)) DESC
Run Code Online (Sandbox Code Playgroud)

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