我正在寻找一个问题,询问“每年列出该年发行的最差电影的名称。电影是根据得分进行评分的:得分越低,电影越差。如果发生平局,应列出所有平局的电影。结果应该按时间顺序显示。'
这些表是:
movies(id, title, yr, score, votes, director)
castings(movieid, actorid)
actors(id, name)
到目前为止,我已经了解了
SELECT m.title
FROM movies AS m
WHERE m.score = (SELECT MIN(score) FROM movies)
ORDER BY m.yr DESC
答案 0 :(得分:0)
您快到了。实际上,您的查询为您提供了多年来总分最低的电影。您需要关联子查询和外部查询:
select yr, title
from movies m
where score = (select min(score) from movies m1 where m1.year = m.year)
order by yr desc
通过将表与聚合子查询联接在一起,您可以获得与之相同的结果:
select m.yr, m.title
from movies m
inner join (select yr, min(score) score from movies group by yr) x
on x.yr = m.yr and x.score = m.score