Я пытаюсь получить 3 лучших фильма для каждого актера. Мой запрос выглядит как this.
SELECT fullname,
ROW_NUMBER() OVER (PARTITION BY fullname ORDER BY length DESC) as f_rank,
length
FROM
(SELECT actor.first_name || ' ' || actor.last_name as fullname, film.length
FROM film_actor
JOIN film
ON film_actor.film_id = film.film_id
JOIN actor
ON film_actor.actor_id = actor.actor_id) sub
WHERE f_rank <= 3
Так что выглядит без предложения where
fullname f_rank length
Adam Grant 1 173
Adam Grant 2 173
Adam Grant 3 156
Adam Grant 4 155
Adam Grant 5 152
Adam Grant 6 148
Adam Grant 7 141
WHERE fullname = 'Alan Grant'
работает отлично. С f_rank
я получаю следующую ошибку:
column "f_rank" does not exist
Что я здесь не так делаю? Я в полном замешательстве.