MYSQL 如何将货币价值从便宜到昂贵排序?
MYSQL how to sort money values from cheaper to more expensive?
我苦苦思索了好几个小时,试图找出如何将 PRICE 列从便宜到昂贵排序。
我用decimal(5,2)
值是这样的:
20.99
15.99
10.15
9.20
我使用 CONCAT
在每个值的前面插入 $。结果是这样的
.15
.99
.99
.20
想要的结果是这样的:
.20
.15
.99
.99
要进行排序,您必须使用 ORDER BY
子句。
要从低到高排序试试这个:
SELECT CONCAT("$",CAST(price AS CHAR)) AS currency
FROM tablename
ORDER BY currency
Order by price
不要按连续排序,因为它会按字母数字值而不是数字值排序。
使用 Order by Price DESC
其中 DESC
是降序,如果你想升序使用 ASC
您的价格列必须是字符 CHAR() 或 VARCHAR() 类型,而不是数字类型。在 ORDER BY:
中将其转换为 DECIMAL
Select * From table ORDER BY CAST(price AS DECIMAL(10,2)) DESC
真正的解决方法是将价格数据类型更改为适当的数字类型。
我苦苦思索了好几个小时,试图找出如何将 PRICE 列从便宜到昂贵排序。
我用decimal(5,2)
值是这样的:
20.99
15.99
10.15
9.20
我使用 CONCAT
在每个值的前面插入 $。结果是这样的
.15
.99
.99
.20
想要的结果是这样的:
.20
.15
.99
.99
要进行排序,您必须使用 ORDER BY
子句。
要从低到高排序试试这个:
SELECT CONCAT("$",CAST(price AS CHAR)) AS currency
FROM tablename
ORDER BY currency
Order by price
不要按连续排序,因为它会按字母数字值而不是数字值排序。
使用 Order by Price DESC
其中 DESC
是降序,如果你想升序使用 ASC
您的价格列必须是字符 CHAR() 或 VARCHAR() 类型,而不是数字类型。在 ORDER BY:
中将其转换为 DECIMALSelect * From table ORDER BY CAST(price AS DECIMAL(10,2)) DESC
真正的解决方法是将价格数据类型更改为适当的数字类型。