我有一个仅限本地的项目,我正在处理该项目,其中有一个包含 id
、title
和 price
字段的表。
示例信息:
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");
我做错了什么?
最佳答案
您的 price
列必须具有字符 CHAR() 或 VARCHAR()
类型,而不是数字类型。在 ORDER BY
中将其转换为 DECIMAL
:
Select * From table ORDER BY CAST(price AS DECIMAL(10,2)) DESC
真正的解决方法是将 price
数据类型更改为适当的数字类型。
关于php - "Order by price"在 MySQL 中返回一个奇怪的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8887760/