我有興趣獲得一列中值相對于前一個值的百分比增加或減少。
有人可以建議我該怎么做嗎?
謝謝
這就是我的桌子的樣子
week | sales |
22 | 11 |
21 | 63 |
20 | 78 |
19 | 170 |
18 | 130 |
這就是我想要的
week | sales | growth
22 | 11 | -82.5
21 | 63 | -19.2
20 | 78 | -54.12
19 | 170 | 30.8
18 | 130 | NULL
uj5u.com熱心網友回復:
使用LAG()視窗函式獲取sales每周的前一個值:
SELECT *,
ROUND(100.0 * (1.0 * sales / LAG(sales) OVER (ORDER BY week) - 1), 1) growth
FROM tablename
ORDER BY week DESC;
請參閱演示。
uj5u.com熱心網友回復:
如果您想按百分比獲得 2 個數字之間的差異。你可以試試這個公式。前任。
(@newSales - @oldSales) / ((@newSales @oldSales) / 2) * 100
在你的情況下:
SELECT (@sales - @week) / ((@sales @week) / 2) * 100 AS growth
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/418001.html
標籤:
