嗨,大家好,我是SQL初學者,所以請耐心等待...... :)SQL Server 2008如何使用GROUP(ing)其他列選擇具有值的行?
我的問題如下。
我得到這個表:
DateTime ID Year Month Value Cost
-------------------|------|--------|-------|-------|--------|
1-1-2013 00:00:01 | 1 | 2013 | 1 | 30 | 90 |
1-1-2013 00:01:01 | 1 | 2013 | 1 | 0 | 0 |
1-1-2013 00:02:01 | 1 | 2013 | 1 | 1 | 3 |
1-2-2013 00:00:01 | 1 | 2013 | 2 | 2 | 6 |
1-2-2013 00:01:01 | 1 | 2013 | 2 | 3 | 9 |
1-2-2013 00:02:01 | 1 | 2013 | 2 | 4 | 12 |
1-3-2013 00:00:01 | 1 | 2013 | 3 | 5 | 15 |
1-3-2013 00:01:01 | 1 | 2013 | 3 | 6 | 18 |
1-3-2013 00:02:01 | 1 | 2013 | 3 | 7 | 21 |
現在我想要得到的是這樣的結果
Year Month Value Cost
|--------|-------|-------|--------|
| 2013 | 1 | 1 | 3 |
| 2013 | 2 | 4 | 12 |
| 2013 | 3 | 7 | 21 |
正如你可以看到我想要GROUP BY的[月]和[年]並獲取每個[月]的最後[值]。
現在,你可以從結果明白我不嘗試從[數值]列中的MAX()值,但對於每一個[月]的最後一個值,這是我的問題..
謝謝提前
PS
我可以GROUP BY [Year]和[Month],但據我所知當我添加[Value]列時,GROUP BY不會影響結果,因爲SQL需要更多特化你值什麼SQL得到..
謝謝!這很有幫助,我用你的第一個樣本,我確切地知道我需要什麼。歡呼m8。 – BujinRikimaru