首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL 中合并多行数据,该怎么解决

2012-03-29 
SQL 中合并多行数据现有数据表:idnamecount001北京2001北京海淀3002上海4003广州5...需要将id相同的行合并

SQL 中合并多行数据
现有数据表:  
id     name   count  
001   北京   2  
001   北京海淀   3  
002   上海   4  
003   广州   5  
...  

需要将id相同的行合并,count相加,name选择长度最短的,合并后的效果如下:  
001   北京   5  
002   上海   4  
003   广州   5  
...  
请大家指点,谢谢!

[解决办法]
declare @t table(id char(3),[name] varchar(10),[count] int)
insert @t
select '001 ', '北京 ',2 union all
select '001 ', '北京海淀 ',3 union all
select '002 ', '上海 ',4 union all
select '003 ', '广州 ',5


select id,min(name) as name ,sum(count) as count
from @t
group by id

/*


(所影响的行数为 4 行)

id name count
---- ---------- -----------
001 北京 5
002 上海 4
003 广州 5

(所影响的行数为 3 行)


*/

热点排行