我想根据 SQL 数据库中获得的值计算一些趋势。我特别感兴趣的是获取一列中值的增加百分比(如果值减少,则该值应该为负数)
有人可以建议我该怎么做吗?
我无法使用存储过程。
Thanks.
我的表有以下列
日期(数字)、月份(数字)、订单(数字)、价格(实际)
我想计算从一个月到下一个月收到的订单数量的变化百分比。我还希望考虑方向,即返回的值应该是 -ve,以防销售额下降。
我不确定 sqlite 是否允许变量,但这是我在 MySQL 中执行的方式。我刚刚对此进行了测试,效果非常好:打印 100% 表示增加 10 到 20,打印 -13.04% 表示减少 46 到 40。
希望 sqlite 中也有类似的情况:
SELECT
CONCAT(
FORMAT(
IF(@prev AND SUM(orders) <> @prev,
-1 * 100 * (1 - SUM(orders) / @prev),
0
)
, 2)
, '%') AS variation,
@prev := SUM(orders) AS orders
FROM
(SELECT @prev := NULL) init,
product
GROUP BY
id_product
ORDER BY
month
当然,您需要根据需要调整输出。目前,它会将百分比格式化为小数点后两位,并在末尾附加一个“%”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)