はじめに
操作の計算は、データ分析の一般的なタスクです。 SQL Serverでは、ウィンドウ関数、関連するサブクエリ、カーソルベースのソリューションを使用するなど、この目標を達成するには多くの方法があります。 「Juxu設定スキル」は議論の方法です。このテクノロジーでは、空の操作を備えた一時テーブルにラインを挿入し、特定の順序でテーブルを更新し、最終的に更新された操作合計を選択します。集計のスキル設定文
次のクエリは、集計セット文スキルを使用して操作合計を計算します。
このメソッドは、検索順序で更新されるため、効率的であると見なされます。しかし、人々はすべてのシーンで信頼性を心配しています。 ステートメントスキルを集約する代替方法
INSERT INTO @AnotherTbl(id, somedate, somevalue, runningtotal)
SELECT id, somedate, somevalue, null
FROM TestTable
ORDER BY somedate
DECLARE @RunningTotal int
SET @RunningTotal = 0
UPDATE @AnotherTbl
SET @RunningTotal = runningtotal = @RunningTotal + somevalue
FROM @AnotherTbl
SQL Server 2012では、Window関数(累積集約を伴う合計など)を許可するためのOver句を導入します。これにより、追加の表面操作の必要性がなくなり、クエリが簡素化されます。
2。関連サブクエリ:
関連サブクエリを使用して、各ラインの操作を取得できます。
カーソルは、(特定の順序で)段階的な処理のメカニズムを提供します。以下のカーソルベースのソリューション増分計算操作合計: 結論SELECT somedate, somevalue,
SUM(somevalue) OVER(ORDER BY somedate) AS RunningTotal
FROM TestTable
以上がSQL Server で累計を効率的に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。