Table example
create table t123 (Id int, Name varchar(10), [Order] int, Value int) insert t123 select 1,'a','1',100 union all select 2,'b','2',200 union all select 3,'c','1',300 union all select 4,'d','1',100 union all select 5,'e','2',300
Query for SQL Server 2005 and later
select a.[order], STUFF(( select ','+b.name from t123 b where b.[order] = a.[order] order by b.name for xml path('a'), type).value('.','nvarchar(max)'),1,1,'') Name, SUM(a.value) value, COUNT(*) [count] from t123 a group by a.[order]
Exit
order Name value count
RichardTheKiwi
source share