gpt4 book ai didi

MySQL合并输出数据

转载 作者:行者123 更新时间:2023-11-29 09:03:24 25 4
gpt4 key购买 nike

对于 MySQL 来说,我是个新手。我很难找到这个问题,但我敢打赌解决方案非常简单。我有下表:

电影

  • movie_id
  • 电影标题

con_genres(其他2个之间的连接表)

  • movie_id
  • 流派_id

流派

  • 流派_id
  • 姓名

我尝试了不同的查询,但我不断得到这些类型的结果

1 | Avatar | Sci-fi
1 | Avatar | Fantasy
2 | Matrix | Sci-fi
2 | Matrix | Fantasy (this one is non existent)

但我想要以下结果

1 | Avatar | Sci-fi, Fantasy
2 | Matrix | Sci-fi

通过 1 次查询获得此结果的最佳方法是什么?

最佳答案

没有运行它,但这应该可以工作:

SELECT m.movie_id, MIN(m.movie_title), GROUP_CONCAT(g.name)
FROM movies m
LEFT JOIN con_genres c ON c.movie_id = m.movie_id
LEFT JOIN genres g ON c.genre_id = g.genre_id
GROUP BY m.movie_id

这里的想法是连接三个表(这将产生类似于第一个示例结果的结果),对电影 id 进行分组(显然,因为我们只想要每部电影一行)并使用 GROUP_CONCAT在一个逗号分隔的字符串中选择每部电影的所有流派名称。

关于MySQL合并输出数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7867177/

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