andrey_vetrov

Untitled

Apr 6th, 2022 (edited)
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. -- версия первая
  2.  
  3. SELECT ctg.name AS film_category,
  4. COUNT(fctg.film_id) as film_cnt
  5. FROM category AS ctg
  6. LEFT OUTER JOIN film_category AS fctg ON ctg.category_id = fctg.category_id
  7. LEFT OUTER JOIN film_actor AS fac ON fctg.film_id = fac.film_id
  8. LEFT OUTER JOIN actor AS actr ON fac.actor_id = actr.actor_id
  9. WHERE actr.actor_id IN (SELECT actor_id
  10. FROM (SELECT m.film_id, fc.category_id,ct.name, fa.actor_id
  11. FROM movie AS m
  12. LEFT OUTER JOIN film_category AS fc ON m.film_id = fc.film_id
  13. LEFT OUTER JOIN category AS ct ON fc.category_id = ct.category_id
  14. LEFT OUTER JOIN film_actor AS fa ON fc.film_id = fa.film_id
  15. WHERE m.release_year > 2013) AS pz
  16. GROUP BY actor_id
  17. HAVING COUNT(actor_id) > 7
  18. ORDER BY actor_id DESC)
  19. GROUP BY film_category
  20. ORDER BY film_cnt DESC, film_category;
  21.  
  22. -- версия вторая
  23.  
  24. SELECT
  25. name film_category,
  26. COUNT(film_id) AS film_cnt
  27. FROM (
  28. SELECT ac.actor_id, fc.film_id, fc.category_id, ct.name
  29. FROM actor AS ac
  30. LEFT OUTER JOIN film_actor AS fa ON ac.actor_id = fa.actor_id
  31. LEFT OUTER JOIN film_category AS fc ON fc.film_id = fa.film_id
  32. LEFT OUTER JOIN category AS ct ON fc.category_id = ct.category_id
  33. WHERE ac.actor_id IN (SELECT actor_id
  34. FROM (SELECT m.film_id, flc.category_id, ctg.name, fla.actor_id
  35. FROM movie AS m
  36. LEFT OUTER JOIN film_category AS flc ON m.film_id = flc.film_id
  37. LEFT OUTER JOIN category AS ctg ON flc.category_id = ctg.category_id
  38. LEFT OUTER JOIN film_actor AS fla ON flc.film_id = fla.film_id
  39. WHERE m.release_year > 2013) AS pz
  40. GROUP BY actor_id
  41. HAVING COUNT(actor_id) > 7
  42. ORDER BY actor_id DESC)) AS px
  43.  
  44. GROUP BY film_category
  45. ORDER BY film_cnt DESC, film_category DESC;
Advertisement
Add Comment
Please, Sign In to add comment