2017-09-22 92 views
0

我遇到了查詢問題。我有一張桌子。表中的值是不同的,我在每行中呈現相同的值(10),以簡化和更好地理解這個問題每個記錄在特定年份和月份的累計值

| ID | UniqueProcutId | Year | Month | Value | 
-----|----------------|------|-------|-------| 
| 1 | wwee124  | 2015 | 1  | 10 | 
| 2 | wwee124  | 2015 | 2  | 10 | 
| 3 | wwee124  | 2015 | 3  | 10 | 
| 4 | wwee124  | 2015 | 4  | 10 | 
| 5 | wwee124  | 2015 | 5  | 10 | 
| 6 | wwee124  | 2015 | 6  | 10 | 
| 7 | wwee124  | 2015 | 7  | 10 | 
| 8 | wwee124  | 2015 | 8  | 10 | 
| 9 | wwee124  | 2015 | 9  | 10 | 
| 10 | wwee124  | 2015 | 10 | 10 | 
| 11 | wwee124  | 2015 | 11 | 10 | 
| 12 | wwee124  | 2015 | 12 | 10 | 
| 13 | wwee124  | 2016 | 1  | 10 | 
| 14 | wwee124  | 2016 | 2  | 10 | 
| 15 | wwee124  | 2016 | 3  | 10 | 

而我想才達到的查詢,將返回的累計值對每個同月。我的意思是:

SELECT ID, PRODUCTID, YEAR, MONTH, 
SUM(VALUE) OVER(?????) 

我不能處理它:( 查詢應該返回:

| ID | UniqueProcutId | Year | Month | Value | 
-----|----------------|------|-------|-------| 
| 1 | wwee124  | 2015 | 1  | 10 | 
| 2 | wwee124  | 2015 | 2  | 20 | 
| 3 | wwee124  | 2015 | 3  | 30 | 
| 4 | wwee124  | 2015 | 4  | 40 | 
| 5 | wwee124  | 2015 | 5  | 50 | 
| 6 | wwee124  | 2015 | 6  | 60 | 
| 7 | wwee124  | 2015 | 7  | 70 | 
| 8 | wwee124  | 2015 | 8  | 80 | 
| 9 | wwee124  | 2015 | 9  | 90 | 
| 10 | wwee124  | 2015 | 10 | 100 | 
| 11 | wwee124  | 2015 | 11 | 110 | 
| 12 | wwee124  | 2015 | 12 | 120 | 
| 13 | wwee124  | 2016 | 1  | 10 | 
| 14 | wwee124  | 2016 | 2  | 20 | 
| 15 | wwee124  | 2016 | 3  | 30 | 
+0

以上(由UniqueProcutId分區,按年訂單月) – sepupic

+0

與2012 – sepupic

回答

1

你接近試試這個:

SELECT 
ID, 
UniqueProcutId, 
[Year], 
[Month], 
SUM(Value) OVER(Partition BY YEAR ORDER BY [Month] ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) 
FROM 
YourTable 
+0

開始如果你想讓它每各UniqueProcutId然後通過UniqueProcutId,年 – PacoDePaco

+0

喜分區來處理,我回答喲你的帖子,你可以看一下嗎? – tylkonachwile

+0

當然,但你應該不想這樣做 - 答案是答案,你可以隨時修改你的信息。另外,如果您滿意,請將我的答案標記爲正確答案。 – PacoDePaco

相關問題