mysql - Java Mysql 按价格排序

标签 mysql sql

我正在使用 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/

相关文章:

php - 如何验证 API 的用户身份

php - Redis作为MySQL写入的缓存

html - 验证密码和用户名nodejs mysql

mysql - 使用下划线而不是空格是否有任何 sql 性能提升?

mysql - SQL 在以逗号分隔的字符串中查找

php - 制作群组成员 View 加入群组的页面

sql - Oracle 分析函数 - 重置窗口子句

php PDO::FETCH_ASSOC 在存储过程中备份后未检测到选择

sql - 在多个函数之间创建序列

mysql - SQL 查询 Ailas 问题