我在sqlserver 2008中有一个Student表,其中包含以下数据:
现在,当我提供两个日期(例如,从日期为'2015-1-1',到日期为'2015-3-1')我应该得到具体日期的总和的差异,而不是总和的总和日期之间
2015-3-1(2015-1-1的总和(总分)与2015-1-1的总和(总分)之间的差异)
即差值(总和(54,60),总和(60,58))134 - 118 = 16
提前致谢
答案 0 :(得分:3)
使用此查询
DECLARE @result AS INTEGER
SET @result = ISNULL((SELECT SUM(TotalMarks) FROm Student WHERE Date = '2015-1-1'), 0) -
ISNULL((SELECT SUM(TotalMarks) FROm Student WHERE Date = '2015-3-1'), 0)
SELECT @result
答案 1 :(得分:2)
使用Conditional Aggregate
执行此操作。
SELECT Isnull(Sum(CASE WHEN Date = '2015-1-1' THEN TotalMarks ELSE 0 END), 0) -
Isnull(Sum(CASE WHEN Date = '2015-3-1' THEN TotalMarks ELSE 0 END), 0)
FROM Student