【发布时间】:2014-11-28 01:33:02
【问题描述】:
我有下表:
oGroup oDate oValue
--------------------------------
A 2014-01-01 10
A 2014-01-02 20
A 2014-02-01 10
A 2014-02-02 10
A 2014-03-01 10
A 2014-04-01 30
A 2014-05-01 10
B 2014-01-01 5
然后我有以下存储过程:
CREATE PROCEDURE _spTest
(@oMonth int, @oYear int)
AS
BEGIN
SELECT
oGroup, oDate, oValue
FROM
oTable
WHERE
DATEPART(MONTH, oDate) = @oMonth
AND DATEPART(YEAR, oDate) = @oYear
END
因此,如果我将参数设置为 @oMonth = 4 和 @oYear = 2014。那么所有第 4 个月(4 月)和 2014 年的记录都将显示为结果。
我的问题是:我想知道从年初到给定值的“oValue”的总数,使用 与上述存储过程相同的参数。我怎样才能做到这一点?
例如,如果 @oMonth 是 4,@oYear 是 2014 年。那么结果应该是 2014 年 1 月 oValue 的 SUM + 2014 年 2 月 oValue 的 SUM + SUM oValue 于 2014 年 3 月 + SUM oValue 于 2014 年 4 月
结果应该是这样的:
oGroup oValue_SUM
---------------------
A 90
B 5
谢谢。
【问题讨论】:
标签: sql sql-server sql-server-2008