嗨我想在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倍的時間來運行,並仍在運行... –