日期:2014-05-17 浏览次数:20537 次
if OBJECT_ID('tempdb..#temp', 'u') is not null drop table #temp;
go
create table #temp( [姓名] varchar(100), [科目] varchar(100), [分数] INT);
insert #temp
select '王','数学','1' union all
select '王','数学','2' union all
select '王','数学','3' union all
select '王','语文','1' union all
select '王','数学','3' union all
select '张','数学','3' union all
select '张','数学','3' union all
select '张','语文','3'
--SQL:
SELECT [姓名] , 记录条数=COUNT(*), 汇总分=SUM([分数])
from #temp
GROUP BY [姓名]
/*
姓名 记录条数 汇总分
王 5 10
张 3 9
*/
--> 测试数据:@T
declare @T table([姓名] varchar(2),[科目] varchar(4),[分数] int)
insert @T
select '王','数学',1 union all
select '王','数学',2 union all
select '王','数学',3 union all
select '王','语文',1 union all
select '王','数学',3 union all
select '张','数学',3 union all
select '张','数学',3 union all
select '张','语文',3
select [姓名],COUNT(1) AS 记录条数,SUM([分数]) AS 汇总分 from @T GROUP BY [姓名]
/*
姓名 记录条数 汇总分
---- ----------- -----------
王 5 10