0
使用over分區by子句計算人物月數。從'over partition'刪除重複項'
我的結果的一個簡單的例子:
Date Person Team Daily Figure Month To Date
24/09/17 James 2 50 200
24/09/17 James 2 50 200
25/09/17 James 2 50 200
25/09/17 James 2 50 200
我被分割了的人如在一個月的日常圖形和計算每月的身影
CASE
WHEN
MONTH([DATE]) = MONTH(getdate())
THEN SUM(Figure)
OVER (PARTITION BY [Name],
MONTH(DATE]))
ELSE 0
END AS 'Month To Date'
遇到的主要問題IM是我只想顯示今天的每日數字,但與全月值。我組這個數字對於每個人,並限制到今天,但要能組由人,我需要一個月的總和日期數字,這顯然給我留下了
Date Person Team Daily Figure Month To Date
25/09/17 James 2 100 800
每天的數字是正確的,但它顯然求和重複的行給我一個不正確的數字。
當今理想的結果將是:
Date Person Team Daily Figure Month To Date
25/09/17 James 2 100 200
沒有重複的行。
有沒有人對此有任何建議?從根本上去除重複的分割行,所以我只是得到正確的月份最新數字分組
UPDATE:
每一行只是每個人的個體人物。沒有東西是分組的,所以每個人每天至少可以有20個獨立的行數字
我不能按照你想要做的。你以什麼數據開始?每一行的定義是什麼? –
張貼您的查詢或原始數據將有所幫助 - 因爲從您當前的所需結果我認爲你可以實現使用Group By而不是Window Function –
問題是,此刻我只需要每天的數字,但他們整個月的總數爲好。所以group by by does not work to calculate month to date figure,because it only sum up it for the day - 窗口函數似乎只有選項,但它會爲每個匹配該人員名稱的行創建重複總和 –