首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找后续电影的较低评级

查找后续电影的较低评级
EN

Stack Overflow用户
提问于 2018-11-27 19:09:42
回答 1查看 31关注 0票数 0

我有一个表、电影、和另一个名为directors的表,它具有以下属性:

代码语言:javascript
复制
Movies               Director
------              -----------
title               name
director            country
year
genre
rating

我正在试图找到同一导演的电影,它的评分低于任何后续的电影从同一导演。这是我的疑问:

代码语言:javascript
复制
SELECT * 
FROM movies m1
JOIN directors d ON m1.director=d.name 
WHERE EXISTS
    (
    SELECT * 
    FROM movies m2 
    WHERE (m1.rating<m2.rating 
    AND m1.year<m2.year)
    AND m1.director=m2.director
    );

我期望得到的结果如下:

代码语言:javascript
复制
movie1    director1    rating-2   year1
movie2    director1    rating-4   year2
movie3    director1    rating-2   year4
movie4    director1    rating-4   year7

然而,相反,我得到了:

代码语言:javascript
复制
movie1    director1    rating 2   year1
movie2    director1    rating 4   year2
movie3    director1    rating-4   year4
movie4    director1    rating-2   year7

我不认为这是正确的做法。:(

EN

回答 1

Stack Overflow用户

发布于 2018-11-27 19:19:22

你想要一个当地的最低标准。。。但恰恰相反。

代码语言:javascript
复制
select m.*
from (select m.*,
             min(m.rating) over (partition by m.director order by m.year desc rows between unbounded preceding and 1 preceding) as min_future_rating
      from movies m
     ) m
where rating < min_future_rating;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53506554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档