SQL嵌套聚合函数

时间:2012-11-20 02:26:40

标签: sql oracle select aggregate-functions

我试图获得数据库中电影的最低平均评分。

目前我有:

select movie.movietitle as "Lowest Average Rating"
from movie, rating 
where movie.movieid = rating.movieid
group by movie.movietitle
having avg(rating.rating) = min(avg(rating.rating));

但我收到的错误是“群组功能嵌套得太深了”。 任何人都可以为我提供正确的方法,并解释为什么这不起作用?

由于

1 个答案:

答案 0 :(得分:1)

SELECT MOVIETITLE AS "Movie Title", AVG(RATING) AS "Lowest Average Rating"
FROM MOVIE, RATING
WHERE MOVIE.MOVIEID = RATING.MOVIEID
GROUP BY MOVIETITLE
HAVING AVG(RATING) =
(
    SELECT MIN(AVG(RATING)) AS "AVGRating"
    FROM MOVIE, RATING
    WHERE MOVIE.MOVIEID = RATING.MOVIEID
    GROUP BY MOVIETITLE
)