Advertisement
Step8rother

Как сочетать объединения и подзапросы, задача 3

Jun 29th, 2023
1,275
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.64 KB | Source Code | 1 0
  1. /*Сформируйте статистику по категориям фильмов. Отобразите в итоговой таблице два поля:
  2. название категории;
  3. число фильмов из этой категории.
  4. Фильмы для второго поля нужно отобрать по условию. Посчитайте фильмы только с теми актёрами и актрисами, которые больше семи раз снимались в фильмах, вышедших после 2013 года.
  5. Назовите поля name_category и total_films соответственно. Отсортируйте таблицу по количеству фильмов от большего к меньшему, а затем по полю с названием категории в лексикографическом порядке.
  6. */
  7.  
  8. SELECT category.name AS name_category,
  9.        COUNT(movie.film_id) AS total_films
  10. FROM movie
  11. INNER JOIN film_category ON movie.film_id = film_category.film_id
  12. INNER JOIN category ON category.category_id = film_category.category_id
  13. WHERE movie.film_id IN
  14.     (SELECT movie.film_id
  15.      FROM movie
  16.      
  17.      INNER JOIN film_actor ON movie.film_id = film_actor.film_id
  18.      WHERE film_actor.actor_id IN
  19.          (SELECT actor_id
  20.           FROM film_actor
  21.          
  22.           INNER JOIN movie ON movie.film_id = film_actor.film_id
  23.           WHERE movie.release_year > 2013
  24.           GROUP BY actor_id
  25.           HAVING COUNT(actor_id) > 7)
  26.      GROUP BY movie.film_id)
  27. GROUP BY category.name
  28. ORDER BY COUNT(movie.film_id) DESC, category.name;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement