您好我正在尝试在sql中对一列百分比进行排序,但是我无法将“100%”从底部带到最高结果,任何人都有解决方案吗?
我使用concat(x / y * 100,'%')作为百分比函数,这给了我不同的百分比,例如50%,60%,99%,100%。
然而,按百分比desc的顺序给出了以下顺序: 99% 60% 50% 100%
由于
答案 0 :(得分:6)
在您的订单中添加此条款
SELECT ...
FROM ...
WHERE ...
ORDER BY (x/y*100) ASC
ORDER BY percentage DESC
不起作用的原因是因为percentage
列是字符串而不是数字。
答案 1 :(得分:1)
您应该按x/y
订购,它会为您提供正确的排序顺序。使用与100
相乘的表达式,并在末尾添加百分号以格式化输出,而不是排序。