gpt4 book ai didi

MySQL 减去同一个表中同一列下的行,但主键不同

转载 作者:行者123 更新时间:2023-11-29 21:14:50 26 4
gpt4 key购买 nike

我是这个论坛和 MySQL 的新手。我的问题与之前的帖子类似,但想知道是否可以用代码解决这个问题。

我在 mysql 中有一个表,其主键为 id、月份(日期格式)和站点计数。现在我想要一个表输出,其中包含月份、站点计数以及根据站点计数计算出的计数之间的差异。

ID    Month         Site Count
1 31-01-2014 37
256 28-02-2014 37
512 31-03-2014 37
768 30-04-2014 41
1024 31-05-2014 38
1280 30-06-2014 42
1536 31-07-2014 42

注意:ID 不按顺序排列的原因是它是从主表派生的。站点计数是从主表计数(不同站点)派生的值,作为站点计数

现在我希望创建如下表,该表无法使用 Id 字段进行计算

ID   Month      Site Count  Diff
1 31-01-2014 37 0
256 28-02-2014 37 0
512 31-03-2014 37 4
768 30-04-2014 41 2
1024 31-05-2014 43 1
1280 30-06-2014 44 2
1536 31-07-2014 46

无法计算最后一个值,因为存在前一个值我们将非常感谢您的帮助。

谢谢。

最佳答案

您可以使用变量或相关子查询/连接来完成此操作。这是后一种方法:

select t.id, t.month, t.sitecount, (next_sitecount - sitecount) as diff
from (select t.*,
(select t2.sitecount
from t t2
where t2.month > t.month
order by month
limit 1
) as next_sitecount
from t
) t;

关于MySQL 减去同一个表中同一列下的行,但主键不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36035274/

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