我有这样的数据收集。如何使用SQL在postgresql中记录最后一条记录中的数据
build failures
001 1
002 3
003 5
故障列意味着失败存在该生成。
有没有什么方法可以在SQL中输出数据(在当前构建之前总结所有失败)?
build failures
001 1
002 4
003 9
我有这样的数据收集。如何使用SQL在postgresql中记录最后一条记录中的数据
build failures
001 1
002 3
003 5
故障列意味着失败存在该生成。
有没有什么方法可以在SQL中输出数据(在当前构建之前总结所有失败)?
build failures
001 1
002 4
003 9
你可以使用窗口SUM
:
SELECT build, SUM(failures) OVER(ORDER BY build) AS failures
FROM your_tab
ORDER BY build;
一般,而@ lad2025一般是正确的我要补充的是运行总计您通常不希望明确指定的顺序。通常情况下,您将通过使用当前行的内置窗口来获得更好,更易维护的查询。
SELECT build, failures,
sum(failures) OVER (ROWS UNBOUNDED PRECEDING) as failures_to_date
FROM your_tab
ORDER BY build;
这让你重新排序的能力您的查询,同时保持基于任何命令你决定运行的整个存在(我也不会感到惊讶,如果最佳化也是可能与此,这意味着它可能会表现得更好)。