仅对每个 Id 的最新值求和

Posted

技术标签:

【中文标题】仅对每个 Id 的最新值求和【英文标题】:Summing Only The Latest Values for each Id 【发布时间】:2020-10-02 06:29:14 【问题描述】:

我有一张包含这些数据的表格。

对于每个唯一的 id,我想对 Principle 列求和,其中日期是该 id 的最新日期(一个 id 的最新日期可能不是另一个 id 的最新日期)。所以在这个例子中,我想对第 1 行 (67,000) 和第 4 行 (100,500) 求和。

我一直在使用游标,但认为一定有更好的方法。有人可以指出我正确的方向吗?

【问题讨论】:

不要删除您的问题,因为它被否决了,然后在没有改进的情况下重新发布。它被否决是有原因的。花点时间使用edit 功能并改进上述问题。 【参考方案1】:

一个选项使用子查询进行过滤:

select t.*
from mytable t
where t.paymentDate = (
    select max(t1.paymentDate)
    from mytable t1
    where t1.id = t.id
)

【讨论】:

以上是关于仅对每个 Id 的最新值求和的主要内容,如果未能解决你的问题,请参考以下文章

如何为每个键值选择具有最新时间戳的行?

在给定特定条件 SQL 的情况下,仅对不同的值求和

窗口函数:仅对另一列中的不同值求和

MPDF 仅对每页的结果求和

仅对 MYSQL 中最后返回的行执行 JOIN [重复]

仅对 Google 表格中某个范围内的正数/负数求和