私たちの機器テーブルの月別の平均カウントを、Active、Scrapped、Newでステータスを分解して示すデータセットを作成します。SQL Serverで毎月実行中の平均を計算する
これを熟考すればするほど、これを達成する唯一の方法は、最初にコンテナのテンポラリテーブルを作成し、カーソルを使用して各レコードを評価することです。
これを一時テーブルなしで行うことはできますか?
次は、ちょうど我々が取り組んでいる分野を示しています。私はあなたのデータについてのいくつかの飾りを作ってるんだが、アイデアは月によって、単純なカウントを超える金額を平均化することである
SELECT a1.statusdate, a1.CreateDate,
RunningTotalActive = count([status]='Active'),
RunningTotalScrapped = count([status]='Scrapped'),
NewEquipment = count(Month(a1.CreateDate))
FROM dbo.Equipment AS a1
INNER JOIN dbo.Equipment AS a2
ON a2.statusdate <= a1.CreateDate
GROUP BY a1.statusdate
ORDER BY a1.statusdate desc
サンプルデータであり、この種の質問には期待される結果が役立ちます。 – pmbAustin
どのバージョンのSQL Serverですか? –
@John MS SS 2012 - ありがとう – jonno