嗨我想在SQL中排序一列百分比,但我无法从底部到顶部结果'100%',任何人都有这样的解决方案?SQL如何按百分比对列进行排序?
我使用concat(x/y * 100,'%')作为百分比函数,这给了我不同的百分比例如50%,60%,99%,100%。
但是按百分比递减的顺序,然后给了我下面的命令: 99% 60% 50% 100%
感谢
嗨我想在SQL中排序一列百分比,但我无法从底部到顶部结果'100%',任何人都有这样的解决方案?SQL如何按百分比对列进行排序?
我使用concat(x/y * 100,'%')作为百分比函数,这给了我不同的百分比例如50%,60%,99%,100%。
但是按百分比递减的顺序,然后给了我下面的命令: 99% 60% 50% 100%
感谢
by子句中的顺序添加此
SELECT ...
FROM ...
WHERE ...
ORDER BY (x/y*100) ASC
ORDER BY percentage DESC
不工作的原因是因为percentage
列是一个字符串而不是数字。
您应该订购x/y
,它会给你正确的排序顺序。使用乘以100
的表达式,并在最后添加百分比符号来格式化输出,而不是排序。
感谢你的帮助! –
嗨你能帮我解答吗?由于x/y desc函数的顺序,运行时间很长 –
谢谢约翰,这是一个很大的帮助! –
@GlennLow你可以发布你创建的整个查询吗? –
它需要4倍的时间来运行,并仍在运行... –