SQL如何按百分比对列进行排序?

时间:2012-10-09 01:53:50

标签: sql percentage

您好我正在尝试在sql中对一列百分比进行排序,但是我无法将“100%”从底部带到最高结果,任何人都有解决方案吗?

我使用concat(x / y * 100,'%')作为百分比函数,这给了我不同的百分比,例如50%,60%,99%,100%。

然而,按百分比desc的顺序给出了以下顺序: 99% 60% 50% 100%

由于

2 个答案:

答案 0 :(得分:6)

在您的订单中添加此条款

SELECT  ...
FROM    ...
WHERE   ...
ORDER BY (x/y*100) ASC

ORDER BY percentage DESC不起作用的原因是因为percentage列是字符串而不是数字。

答案 1 :(得分:1)

您应该按x/y订购,它会为您提供正确的排序顺序。使用与100相乘的表达式,并在末尾添加百分号以格式化输出,而不是排序。