gpt4 book ai didi

mysql - 比较最后两行值

转载 作者:行者123 更新时间:2023-11-29 08:15:34 24 4
gpt4 key购买 nike

我有一个包含库存数据的 mysql 表,每个季度我都会添加一行包含最后收集的值。

今天:

+--------------+-------------------+| Quarter      | Value             |+--------------+-------------------+|2012.Q4       |17000              ||2013.Q1       |18000              ||2013.Q2       |19000              |x|2013.Q3       |26600              |x+--------------+-------------------+

下个季度,我会得到

+--------------+-------------------+| Quarter      | Value             |+--------------+-------------------+|2012.Q4       |17000              ||2013.Q1       |18000              ||2013.Q2       |19000              ||2013.Q3       |26600              |x|2014.Q1       |20000              |x+--------------+-------------------+

我需要计算每个季度最后两行之间的差异、值和百分比

  • 今天,预期结果为 +7600 (+40%)(四舍五入)
  • 下一季度的预期结果为 -6600 (-25%)(四舍五入)

提前谢谢您。

最佳答案

你可以试试这个方法

SELECT SUM(CASE WHEN rnum = 2 THEN -1 * value ELSE value END) diff_value,
ROUND(SUM(CASE WHEN rnum = 2 THEN -1 * value ELSE value END) /
SUM(CASE WHEN rnum = 1 THEN 0 ELSE value END) * 100) diff_percent
FROM
(
SELECT quarter, value, @n := @n + 1 rnum
FROM table1 CROSS JOIN (SELECT @n := 0) i
ORDER BY quarter DESC
LIMIT 2
) q

这里是SQLFiddle 演示(当前季度)输出:

| DIFF_VALUE | DIFF_PERCENT ||------------|--------------||       7600 |           40 |

这里是SQLFiddle 演示(下季度)输出:

| DIFF_VALUE | DIFF_PERCENT ||------------|--------------||      -6600 |          -25 |

关于mysql - 比较最后两行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20678754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com