-2

我正在尝试列出曾出演过 10 种或更多不同电影类型的演员(男/女) 我有一个名为actor的表,其中包含三列:actorID,和另一个名为moviesname的表,其中包含, , , 最后一个表是movies_actor它包含, , ,gendermovieIDtitleyearmovieIDactorIDas_charachterleading

4

2 回答 2

0

检查以下查询是否给出您预期的结果。

SELECT
  a.name,
  a.gender,
  COUNT(ac.movieid) NoOf_Movies
FROM
  actors a
  INNER JOIN actor_movie am ON a.id = am.actorID
GROUP BY
  a.name,
  a.gender
HAVING
  COUNT(ac.movieid) > 9
ORDER BY
  am.movieID DESC
于 2020-02-18T07:12:09.853 回答
0

要获取每个演员的电影计数,您需要两个不同表中的 actor_name 和 movieid。首先,您可以从movies_actors 表中获取actorid 和movieid 的计数,并将其与actor_table 连接以获取演员的名称。您必须在 select 语句 >9 中应用一个条件,因为您需要已完成 10 部电影或超过 10 部电影的演员姓名。对于流派,如果您遇到任何错误,您可以从最后尝试一次,然后您可以提出问题。

     select name from  
       (select s.*,a.name from 
          (select actorid, count(distinct movieid)no_of_movies from movies_actors group by  actorid)s 
      join 
      actor_table a
      on a.actorid=s.actorid
       )b
where no_of_movies>9

但是,如果您从头开始尝试,然后您可以在这里提出问题,例如您是否卡住、是否遇到任何错误或没有获得所需的输出,这对您有好处。通过这种方式,您可以了解更多信息。

于 2020-02-18T07:11:03.043 回答