GROUP BY结合/连接一列

我有一张桌子如下:


ID  User  Activity  PageURL  

 1  Me    act1      ab     

 2  Me    act1      cd     

 3  You   act2      xy     

 4  You   act2      st

我希望按用户和活动进行分组,这样我最终得到的结果如下:


User  Activity  PageURL  

Me    act1      ab, cd     

You   act2      xy, st

如您所见,列PageURL由基于group by的逗号分隔在一起。


真的很感激任何指针和建议。


凤凰求蛊
浏览 552回答 3
3回答

小唯快跑啊

SELECT     [User], Activity,     STUFF(         (SELECT DISTINCT ',' + PageURL          FROM TableName          WHERE [User] = a.[User] AND Activity = a.Activity          FOR XML PATH (''))          , 1, 1, '')  AS URLListFROM TableName AS aGROUP BY [User], Activity

慕娘9325324

一个好问题。应该告诉你,花了一些时间来破解这个。这是我的结果。DECLARE @TABLE TABLE(  ID INT,  USERS VARCHAR(10),  ACTIVITY VARCHAR(10),  PAGEURL VARCHAR(10)  )INSERT INTO @TABLE  VALUES  (1, 'Me', 'act1', 'ab'),        (2, 'Me', 'act1', 'cd'),        (3, 'You', 'act2', 'xy'),        (4, 'You', 'act2', 'st')SELECT T1.USERS, T1.ACTIVITY,           STUFF(          (          SELECT ',' + T2.PAGEURL          FROM @TABLE T2          WHERE T1.USERS = T2.USERS          FOR XML PATH ('')          ),1,1,'')  FROM @TABLE T1  GROUP BY T1.USERS, T1.ACTIVITY
打开App,查看更多内容
随时随地看视频慕课网APP