首页 > 解决方案 > 显示每种类型的电影数量

问题描述

我希望有一个简单的问题。使用 SQL 语句,我如何获得每种类型的电影数量。下面是数据库的截图。它有三个表,genresmoviesmoies_has_genres

movies_has_genresmovieIDidgenres组成。很多电影都有很多类型。

任何帮助,将不胜感激!

电影数据模式

下面是表格中的一些数据,只是为了看一下数据的类型。

movieData 样本数据

标签: mysqlsql

解决方案


您必须仅左连接(左连接以防万一没有电影的流派)并genres计算:movies_has_genresgroup by idgenres

select g.idgenres, g.title,
  count(m.movies_movieid) as counter
from genres g left join movies_has_genres m
on m.genres_idgenres = g.idgenres
group by g.idgenres, g.title

因为正如您所说,许多电影有多种类型,所以这些计数器的总和可能大于电影的总数。


推荐阅读