求一个复杂的SQL查询统计
以下给出测试数据 需要统计成以下形式
总 总分数学 总分 语文 总分
李四 10 820 6 483.50 4 336.50
张三 10 829 7 595.50 3 233.50
1张三 数学 80.502001
2张三 数学 82.502002
3张三 数学 83.502003
4张三 数学 84.502004
5张三 数学 90.002005
6张三 数学 84.502006
7张三 数学 90.002007
8张三 语文 80.502001
9张三 语文 82.502002
10张三 语文 70.502003
11李四 数学 84.502000
12李四 数学 80.502001
13李四 数学 60.502002
14李四 数学 83.502003
15李四 数学 84.502004
16李四 数学 90.002005
17李四 语文 80.502001
18李四 语文 82.502002
19李四 语文 83.502003
20李四 语文 90.002005
CREATE TABLE #temp(
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Name] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[Class] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[Mark] [numeric](18, 2) NULL,
[Term] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_temp] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('张三','数学','80.5','2001')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('张三','数学','82.5','2002')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('张三','数学','83.5','2003')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('张三','数学','84.5','2004')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('张三','数学','90','2005')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('张三','数学','84.5','2006')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('张三','数学','90','2007')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('张三','语文','80.5','2001')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('张三','语文','82.5','2002')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('张三','语文','70.5','2003')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('李四','数学','84.5','2000')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('李四','数学','80.5','2001')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('李四','数学','60.5','2002')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('李四','数学','83.5','2003')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('李四','数学','84.5','2004')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('李四','数学','90','2005')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('李四','语文','80.5','2001')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('李四','语文','82.5','2002')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('李四','语文','83.5','2003')
INSERT INTO #temp([Name],[Class],[Mark],[Term])VALUES('李四','语文','90','2005')
select Name,class,count(id),sum(Mark) from #temp
group by Name,class
drop table #temp
/*测试结果
李四 数学 6483.50
张三 数学 7595.50
李四 语文 4336.50
张三 语文 3233.50
*/
/*实际想要的结果
总 总分数学 总分 语文 总分
李四 10 820 6 483.50 4 336.50
张三 10 829 7 595.50 3 233.50
*/