sql – 将多行合并到一列而不重复

前端之家收集整理的这篇文章主要介绍了sql – 将多行合并到一列而不重复前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在处理一个查询,将从表中收集数据并显示报表的数据.

数据如下所示:

Player score
001      10
001      20
002      20
002      20
001      10
002      10
003      20
002      20
001      10

我想要这样显示

Player score
001    10,20
002    10,20
003    20

但是我得到的就是这样的分数列中的所有数据的组合列表

Player score
001    10,20,10,10
002    20,20
003    20

有没有人有一个想法如何使这项工作?

解决方法

对于sql Server,您可以使用:
select player,stuff((SELECT distinct ',' + cast(score as varchar(10))
           FROM yourtable t2
           where t2.player = t1.player
           FOR XML PATH('')),1,'') 
from yourtable t1
group by player

猜你在找的MsSQL相关文章