仅对每个 ID 的最新值求和

Summing Only The Latest Values for each Id

我有一个 table 这个数据。

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

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

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

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