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

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

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

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

【问题讨论】:

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

标签: sql sql-server tsql date greatest-n-per-group


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    • 2015-10-30
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多