当前位置: 代码迷 >> Sql Server >> SQL 中合并多行数据,该怎么解决
  详细解决方案

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

热度:24   发布时间:2016-04-27 18:58:25.0
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 行)


*/
  相关解决方案