我有 2 个表,一个是 credit,另一个是 creditdetails。 Creditdetails 每天为每个信用创建新行。
ID Amount ref_id date
1 2 1 16.03
2 3 1 17.03
3 4 1 18.03
4 1 2 16.03
5 2 2 17.03
6 0 2 18.03
我想用唯一 ID 和最后日期总结每一行的数量。所以输出应该是 4 + 0。
最佳答案
您可以使用 ROW_NUMBER 过滤每个 ref_id 的最新金额。
然后求和。
SELECT SUM(q.Amount) AS TotalLatestAmount
FROM
(
SELECT
cd.ref_id,
cd.Amount,
ROW_NUMBER() OVER (PARTITION BY cd.ref_id ORDER BY cd.date DESC) AS rn
FROM Creditdetails cd
) q
WHERE q.rn = 1;
db<>fiddle 测试 here
关于sql - 返回具有相同 ref_id 的每个元素的最后金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55260553/