我正在使用 Google cloud mysql v.5.5 进行基于 Java 的开发。
我正在尝试按按价格设置的结果数据进行排序,但直到现在,还没有对价格进行排序。
假设我的查询是:
SELECT ID, ITEM_NAME, PRICE FROM REFERENCES .... ORDER BY PRICE ASC
表引用有 4 个元素。这些元素的价格是:1、12、12.2 和 2。
当我运行查询时,我得到的是:
1
12
12.2
2
我应该得到:
1
2
12
12.2
知道会发生什么吗?
提前感谢您的宝贵时间,
亲切的问候,
UPDATE1:PRICE 列的字段类型是 VARCHAR 作为客户端先决条件,因此无需对此做太多事情。
更新 2:价格值包含一个“,”而不是通常的“.” ,所以即使到目前为止我得到的回应结果仍然不那么困惑但无论如何都是困惑的。 :(
更新 3:此外,我尝试执行以下操作:ORDER BY replace(PRICE, ',', '')+0 ASC 但这也被证明是不成功的。 :(
最佳答案
听起来 price
被存储为字符串而不是数字。
你可以试试:
order by price + 0
这会将其转换为数字。
关于mysql - Java Mysql 按价格排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20638816/