我正在尝试在sqlite上解决这个问题。
找出1980年以前上映电影的平均收视率与1980年以后上映电影的平均收视率之间的差异(一定要计算出每部电影的平均收视率,然后是1980年之前和1980年之后电影的平均收视率。不要只计算1980年前后的总体平均评级。
数据如下:
这是我目前得到的结果(第一组<1980):
select title, avg(stars) from Movie join Rating
on Movie.mID=Rating.mID
where Year<1980
group by title
有人能帮个忙吗?我不知道如何继续前进。
3条答案
按热度按时间1cklez4t1#
首先,不要按顺序聚合
title
. 区分电影的是id,而不是片名(理论上可以重复)。可以使用条件聚合:
falq053o2#
首先获取每个电影的平均值,然后对结果使用条件聚合:
如果要求不包括1980年,则更改
m.year >= 1980
至m.year > 1980
.lvjbypge3#
我找到了解决办法: