【问题标题】:How to get the Count of all movie_id that has romance and comedy?如何获取所有具有浪漫和喜剧的电影 ID 的计数?
【发布时间】:2021-05-19 16:09:30
【问题描述】:

我想知道我应该更改或添加什么,以便我可以查看此数据库中有多少电影是爱情和喜剧?

如果您看下面是我迄今为止的代码,下面是该代码的示例输出,例如,您将看到 movie_id 13 算作 1 部包含浪漫和喜剧的电影,现在我想知道我可以在代码来计算整个电影数据库中所有“浪漫”和“喜剧”的组合。我抽取了 5 个条目作为示例。

 SELECT genres.genre_id, genres.genre_name , genremap.movie_id 
 FROM genres
 INNER JOIN genremap
 ON genres.genre_id = genremap.genre_id
 WHERE genre_name = 'Romance' or genre_name = 'Comedy'
 ORDER BY movie_id
 LIMIT (5)

流派名称..........movie_id

  • 喜剧.....................5
  • 喜剧.......................13
  • 浪漫............13
  • 浪漫......20
  • 喜剧..................5
  • .................................
  • .................................

【问题讨论】:

  • 提示:WHERE genre_name IN ('Romance', 'Comedy')

标签: mysql sql count jupyter-notebook inner-join


【解决方案1】:

您可以按结果分组,因为所有电影(喜剧或爱情)只有两种类型,所以有两个条目的 movie_id 就是您要查找的电影。

以下查询将返回所有类型为喜剧和浪漫的电影。

 SELECT genremap.movie_id  
 FROM genres
 INNER JOIN genremap
 ON genres.genre_id = genremap.genre_id
 WHERE genre_name = 'Romance' or genre_name = 'Comedy'
 group by genremap.movie_id  
 having count(distinct genre_name)=2
 order by genremap.movie_id  

【讨论】:

  • @Strawberry 我已经编辑了我的答案以摆脱子查询。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-24
  • 1970-01-01
  • 2017-08-13
  • 1970-01-01
  • 2021-11-19
  • 1970-01-01
  • 2016-06-19
相关资源
最近更新 更多