日期:2014-05-18  浏览次数:20667 次

求统计一个列中的相同值的数量相加的SQL语句
表中有两个列:
name num
qq 1
qq 2
mm 3
aa 2
qq 1
aa 1
mm 2
... .

name中的值比较多,不是固定的
num中的值为数字

求,name中相同值的num数字相加
如name中的qq,num为1+2+1=4
期望输出结果:
qq:4
mm:5
aa:3
....


------解决方案--------------------
SQL code
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([name] varchar(2),[num] int)
insert [tb]
select 'qq',1 union all
select 'qq',2 union all
select 'mm',3 union all
select 'aa',2 union all
select 'qq',1 union all
select 'aa',1 union all
select 'mm',2
go

select name,sum(num) as num from tb group by name
/**
name num
---- -----------
aa   3
mm   5
qq   4

(3 行受影响)
**/