SELECT * FROM (SELECT DISTINCT Name,Count(ID) as 人 , sum(case when Sex='男' then 1 else 0 end) as 男人 , sum(case when Sex='女' then 1 else 0 end) as 女人 FROM Test group by Name) A OUTER APPLY( SELECT [包含ID]= STUFF(REPLACE(REPLACE( ( SELECT ID FROM Test N WHERE Name = A.Name FOR XML AUTO ), '<N ID="', ','), '"/>', ''), 1, 1, '') )N