gpt4 book ai didi

mysql - sql查询将可变数量的行合并为一行

转载 作者:太空宇宙 更新时间:2023-11-03 11:56:42 25 4
gpt4 key购买 nike

我的表:

people
name person_id
Joe 1
Jack 2

tags
tag_id tag_name
1 blue
2 green
3 black
4 red

assignments
person_id tag_id
1 1
1 2
1 3
1 4
2 2
2 4

我想要的是如下结果:

结果

  name  tags 
Joe blue,green.black,red
Jack green,red

这里的独特之处在于,第三个表要求我首先加入标签的名称,我不想将它们连接起来,而不是原始 ID...

最佳答案

使用 GROUP_CONCAT()方法结合 GROUP BY

SELECT name, GROUP_CONCAT(tag_id) FROM people GROUP BY name;

对于编辑的部分,试试这个:

SELECT p.name, GROUP_CONCAT(t.tag_name)
FROM people p
JOIN assignments a ON p.person_id=a.person_id
JOIN tags t ON t.tag_id=a.tag_id
GROUP BY a.person_id;

关于mysql - sql查询将可变数量的行合并为一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32162380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com