SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
SELECT c.name AS category, IFNULL(SUM(p.amount), 0) / IFNULL(t.total_rental_amount, 1) AS relative_rental_amount, COUNT(DISTINCT f.film_id) / IFNULL(t.total_film_count, 1) AS relative_rentals_count FROM category c LEFT JOIN film_category fc ON c.category_id = fc.category_id LEFT JOIN film f ON fc.film_id = f.film_id LEFT JOIN inventory i ON f.film_id = i.film_id LEFT JOIN rental r ON i.inventory_id = r.inventory_id LEFT JOIN payment p ON r.rental_id = p.rental_id JOIN ( SELECT SUM(amount) AS total_rental_amount, COUNT(DISTINCT f1.film_id) AS total_film_count FROM film f1 LEFT JOIN inventory i1 ON f1.film_id = i1.film_id LEFT JOIN rental r1 ON i1.inventory_id = r1.inventory_id LEFT JOIN payment p1 ON r1.rental_id = p1.rental_id ) AS t ON 1 = 1 GROUP BY c.name ORDER BY relative_rental_amount DESC;

Stuck with a problem? Got Error? Ask ChatGPT!

Copy Clear