Sql 寻找男演员比女演员多的电影

Sql 寻找男演员比女演员多的电影,sql,postgresql,Sql,Postgresql,我试图通过imdb数据库学习PostgreSQL,但我似乎不知道如何列出男演员多于女演员的电影 我有三张桌子要用 带有电影id、电影标题、电影年份的表电影 表actor带有actor\u id、actor\u名称、actor\u性别 性别可以是“M”或“F” 表具有演员id和电影id的电影演员阵容 有人能给我指出正确的方向来解决这样的问题吗?非常感谢您的帮助。您可以使用下面的查询 Select T1.movie_title as movie_title from movie T1 join m

我试图通过imdb数据库学习PostgreSQL,但我似乎不知道如何列出男演员多于女演员的电影

我有三张桌子要用

带有电影id、电影标题、电影年份的表电影 表actor带有actor\u id、actor\u名称、actor\u性别 性别可以是“M”或“F” 表具有演员id和电影id的电影演员阵容
有人能给我指出正确的方向来解决这样的问题吗?非常感谢您的帮助。

您可以使用下面的查询

Select T1.movie_title as movie_title 
from movie T1
join movie_cast T2
on T1.movie_id = T2.movie_id
join actor T3
on T2.actor_id = T3.actor_id
group by T1.movie_title
having sum(case when T3.actor_gender = 'M' then 1 else 0 end) > sum(case when T3.actor_gender = 'F' then 1 else 0 end);

这里的想法是使用having子句来比较聚合。

正确的方向应该是在谷歌上搜索一个SQL Basic网站或阅读一本关于同一主题的书。我们可以为您编写一个现成的查询,但这无助于您的学习。JOIN、groupby、SUM、CASE,使用这些关键字您可以回答问题。让我们看看你们到目前为止都做了些什么。@Gabriel我直到现在才知道这个案子。我要读一读并试一试。谢谢