私はこのようなデータコレクションを持っています。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;
)。