我的表有两列user_id和tags。
user_id tags
1 <tag1><tag4>
1 <tag1><tag2>
1 <tag3><tag2>
2 <tag1><tag2>
2 <tag4><tag5>
3 <tag4><tag1>
3 <tag4><tag1>
4 <tag1><tag2>
我想将这两条记录合并为一条记录。
user_id tags
1 tag1, tag2, tag3, tag4
2 tags, tag2, tag4, tag5
3 tag4, tag1
4 tag1, tag2
我怎么能得到这个?谁能帮我吗。 还需要将tags字段转换为array []。 我对典型的sql commads知之甚少。我只知道基础知识。我是铁杆上的红宝石。
答案 0 :(得分:1)
您应该查看mysql中的GROUP_CONCAT函数。 A good example is here
在你的情况下,它会是这样的:
SELECT user_id, GROUP_CONCAT(tags) FROM tablename GROUP BY user_id
答案 1 :(得分:1)
select user_id, group_concat(tags separator ',')
from t
group by user_id
答案 2 :(得分:0)
试试这个 - :
SELECT t2.userid,
东西((
SELECT','+ t1.tags
FROM table_name为t1
其中t1.userid = t2.userid
FOR XML PATH('')
),1,2,'')
FROM table_name为t2
GROUP BY t2.userid
我希望这可以帮助你。
检查示例 - : http://www.sqlfiddle.com/#!3/85c89/6