在同一个表上查询时,输出中不显示sql配置单元列别名

h6my8fg2  于 2021-06-25  发布在  Hive
关注(0)|答案(1)|浏览(314)

做Hive运动。
我有一个表movier与字段作为movieid,评级。我需要写信来查询一下评分超过2的电影的平均评分。需要输出格式:| movieid |平均分级|数据:

movie1 2
movie1 3
movie1 5
movie2 4
movie2 5
movie3 6
movie3 3
movie6 2
movie6 3

预期输出为:电影的平均分级,分级大于2。电影平均收视率电影2 4.5电影3 4.5
我的这个查询不起作用。它根本不显示列别名。我也试过了。但这是徒劳的。

select movieid as Movieid, avg(rating) as averagerating
from movierating
where movieid not in (select m.movieid
                      from movierating m
                      where m.rating <= 2
                     )
group by movieid;
w51jfk4q

w51jfk4q1#

预期输出为:电影的平均分级,分级大于2。
我把这个问题解释为“平均评分大于2”。如果是,请使用 having :

select movieid, avg(rating) as averagerating
from movierating
group by movieid
having averagerating > 2;

如果你想要电影的平均收视率只考虑收视率大于2,那么使用 where :

select movieid, avg(rating) as averagerating
from movierating
where rating > 2
group by movieid;

相关问题