Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP和MySQL中显示以最高价格优先订购的记录_Php_Mysql_Sql - Fatal编程技术网

在PHP和MySQL中显示以最高价格优先订购的记录

在PHP和MySQL中显示以最高价格优先订购的记录,php,mysql,sql,Php,Mysql,Sql,我储存自行车的名称和价格。 现在,我想展示我订购的所有自行车,最高价最贵,如: bike 800 cc 1600$ bike 400 cc 800$ bike 200 cc 400$ bike 100 cc 200$ 检查price列的数据类型是否为varchar,则它将无法正常工作。因此,请使用以下技巧: SELECT * FROM bikes ORDER BY price+0 desc 这是一个快速修复方法,而不是对CAST运算符进行排序。添加0000后

我储存自行车的名称和价格。 现在,我想展示我订购的所有自行车,最高价最贵,如:

bike 800 cc     1600$
bike 400 cc     800$
bike 200 cc     400$
bike 100 cc     200$
检查price列的数据类型是否为varchar,则它将无法正常工作。因此,请使用以下技巧:

 SELECT * FROM bikes ORDER BY price+0 desc

这是一个快速修复方法,而不是对CAST运算符进行排序。

添加0000后,结果显示不准确。您能证明这一点吗?表中price列的数据类型是什么?price的数据类型是varchar使用数字类型存储数字数据;使用日期/时间类型存储日期/时间数据。请阅读。在你所问问题的每个答案下面都有一个白色的“勾号”或“勾号”。你可以点击它表明你已经接受了这个答案。结果不准确一些价格很高,比如加上450000他们不工作。问题似乎是价格栏的错误类型;VARCHAR不是存储货币值的合适类型。可能更糟。有一次我被雇来修一个应用程序。订单号存储为VARCHAR6。最终它已经溢出并开始删除旧订单-
SELECT * FROM bikes ORDER BY price DESC
 SELECT * FROM bikes ORDER BY price+0 desc