我是sql新手,我正在尝试编写一个查询来返回与每个参与者合作最多的参与者的姓氏。
我有三张table
Actor- id, first_name,last_name
Movie- id, title
Cast- pid, mid
这是我现在得到的,但它不起作用:
SELECT tt.ll
FROM Actor as AA ,Movie,Cast,(select a.id as idd, a.first_name,a.last_name as ll, count(*)
from Actor a
join Cast c on c.pid = a.id
where mid in (select mid from Cast where pid = AA.id)
and pid <> AA.id
group by a.id
order by count(*) desc, a.last_name ASC limit 1) tt
WHERE pid=AA.id AND Cast.mid=Movie.id
group by AA.id;
1条答案
按热度按时间yyyllmsg1#
你可以得到一对演员一起工作的次数
cast
或相关子查询:要获得第一列中每个参与者的最大收益,请使用窗口函数:
然后填写电影,你可以用两个
join
我们去actors
table。我让你来做。