在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