我有一个问题是这样的:
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/