WITH film_rentals AS (
SELECT
f.film_id,
f.title,
COUNT(r.rental_id) AS rental_count
FROM
film f
JOIN inventory i ON f.film_id = i.film_id
JOIN rental r ON i.inventory_id = r.inventory_id
WHERE
YEAR(r.rental_date) = 2005
GROUP BY
f.film_id, f.title
),
ranked_films AS (
SELECT
title AS film_title,
DENSE_RANK() OVER (ORDER BY rental_count DESC) AS film_rank
FROM
film_rentals
)
SELECT
film_rank,
film_title
FROM
ranked_films
WHERE
film_rank <= 3
ORDER BY
film_rank,
film_title;
;
show status like 'Last_query_cost';