SQl查询(人,剧院)关系

时间:2014-03-27 06:14:35

标签: sql database

我最近出席了一次采访,并被要求为这个问题编写SQL查询 -

有桌子访问(人,剧院)表示人p访问剧院t。现在一个人p1被认为是更多的电影情人,如果他访问另一个人p2访问的每个剧院。我本来应该写一个SQL查询来找到最喜欢电影的人(一个比其他人更喜欢电影情人的人)。

我真的不知道如何回答它。我无意中使用了子查询和聚合运算符,但无法回答它。

有人能告诉我查询是什么吗?

注意:我被告知我不能在这里使用递归

3 个答案:

答案 0 :(得分:1)

描述非常含糊,所以如果我们将问题陈述为“是否有任何人访问过所有其他人的所有影院”,我们可以这样说:

select v.person
  from visit v
 where v.theatre = all ( 
         select vt.theatre
           from visit vt)

答案 1 :(得分:0)

描述含糊不清,但类似

select person, count(*) as cnt
from visit
group by person
order by cnt desc

答案 2 :(得分:0)

select person,count(theatre) from Visit Group By person having max(count(theatre)))