我有一个问题是这样的:

SELECT A.director, COUNT(*) as NumActors
FROM CanWorkWith A
GROUP BY A.director
HAVING COUNT(*) >= 5;

CanWorkWith表:
CanWorkWith(actor, director)

此查询将只返回至少有5个参与者可以使用的控制器。
所以,现在我想获取这个查询的结果,并搜索另一个表来计算导演拥有的电影数量。
所以,如果导演有5个演员,那么我想在一个名为:
Movies (title, year, director, budget, earnings)

最后,返回导演,以及该导演拥有的头衔总数,为所有拥有5名以上演员的导演执行此操作。
谢谢。。。

最佳答案

只需在这个结果和返回每个导演的电影数量的查询之间做一个连接。
像这样的:

SELECT
    M.director,
    COUNT(M.title) as 'Number of movies',
    D.NumActors
FROM Movies M
    INNER JOIN (
        SELECT A.director, COUNT(*) as NumActors
        FROM CanWorkWith A
        GROUP BY A.director
        HAVING COUNT(*) >= 5
   ) D ON M.director = D.director
GROUP BY M.director,
         D.NumActors

关于mysql - SQL查询聚合多个查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21961964/

10-11 17:00