大家好,我是 SQL 的初学者,所以请多多包涵.. :)
我的问题如下。
我得到了这张桌子:
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 |
如您所见,我正在尝试按 [月] 和 [年] 分组,并获取每个 [月] 的最后一个 [值]。
现在,正如您从结果中可以理解的那样,我不会尝试从 [Value] 列中获取 MAX() 值,而是每个 [Month] 的最后一个值,这是我的问题..
提前致谢
PS
我能够对 [Year] 和 [Month] 进行 GROUP BY,但据我所知,当我添加 [Value] 列时,GROUP BY 不会影响结果,因为 SQL 需要对你的值进行更多规范SQL 来获取..