查询连接最多的顶点/元组是什么样的 - 谁是电影最多的演员?
例如,再次电影和演员样本表:Movies (moviesID, title)
Actors (actorsID, name)
Relations (moviesID, actorsID)
可能使用内连接?一个例子很棒 - 谢谢
答案 0 :(得分:1)
如果您只想要actorsId
,则无需加入:
select top 1 actorsId, count(*) as nummovies
from relations r
group by actorsId
order by nummovies desc;
因为可能存在重复项,您可能需要top 1 with ties
:
select top 1 with ties actorsId, count(*) as nummovies
from relations r
group by actorsId
order by nummovies desc;
此外,由于演员可以在同一部电影中拥有多个角色,如果数据库中有不同的角色,请选择count(distinct)
:
select top 1 with ties actorsId, count(distinct moviesId) as nummovies
from relations r
group by actorsId
order by nummovies desc;
答案 1 :(得分:0)
SELECT TOP 1
A.actorsID, A.name, COUNT(R.moviesID) AS MovieCount
FROM Actions A
INNER JOIN Relations R ON A.actorsID = R.actorsID
GRROUP BY A.actorsID, A.name
ORDER BY MovieCount DESC