andrey_vetrov

3-4

Apr 6th, 2022 (edited)
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. -- Те, кто больше 7 раз снимался
  2.  
  3. SELECT px.actor_id
  4. FROM (
  5. SELECT actr.actor_id, flc.film_id
  6. FROM actor AS actr
  7. LEFT OUTER JOIN film_actor AS fla ON actr.actor_id = fla.actor_id
  8. LEFT OUTER JOIN film_category AS flc ON flc.film_id = fla.film_id
  9. LEFT OUTER JOIN category AS ctg ON flc.category_id = ctg.category_id
  10. ) AS px
  11. GROUP BY px.actor_id
  12. HAVING COUNT(px.film_id) > 7
  13.  
  14. -- фильмы после 2013
  15. SELECT mov.film_id
  16. FROM movie AS mov
  17. WHERE release_year > 2013
  18. GROUP BY mov.film_id
  19. ORDER BY mov.film_id
  20.  
  21.  
  22.  
  23. SELECT actor_id, COUNT(film_id)--,px.name
  24. FROM
  25. (SELECT actr.actor_id, flc.film_id, ctg.name
  26. FROM actor AS actr
  27. LEFT OUTER JOIN film_actor AS fla ON actr.actor_id = fla.actor_id
  28. LEFT OUTER JOIN film_category AS flc ON flc.film_id = fla.film_id
  29. LEFT OUTER JOIN category AS ctg ON flc.category_id = ctg.category_id ) AS px
  30. WHERE film_id IN (
  31. SELECT mov.film_id
  32. FROM movie AS mov
  33. WHERE release_year > 2013
  34. GROUP BY mov.film_id
  35. ORDER BY mov.film_id )
  36. AND (
  37. SELECT pz_2.actor_id
  38. FROM (
  39. SELECT actr.actor_id, flc.film_id
  40. FROM actor AS actr
  41. LEFT OUTER JOIN film_actor AS fla ON actr.actor_id = fla.actor_id
  42. LEFT OUTER JOIN film_category AS flc ON flc.film_id = fla.film_id
  43. LEFT OUTER JOIN category AS ctg ON flc.category_id = ctg.category_id
  44. ) AS pz_2
  45. GROUP BY pz_2.actor_id
  46. HAVING COUNT(film_id) > 7 )
  47. GROUP BY actor_id--, px.name
  48. ORDER BY COUNT(DISTINCT film_id) DESC
  49.  
  50. -- Те, кто больше 7 раз снимался
  51. SELECT pz_2.actor_id
  52. FROM (
  53. SELECT actr.actor_id, flc.film_id
  54. FROM actor AS actr
  55. LEFT OUTER JOIN film_actor AS fla ON actr.actor_id = fla.actor_id
  56. LEFT OUTER JOIN film_category AS flc ON flc.film_id = fla.film_id
  57. LEFT OUTER JOIN category AS ctg ON flc.category_id = ctg.category_id
  58. ) AS pz_2
  59. GROUP BY pz_2.actor_id
  60. HAVING COUNT(film_id) > 7
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
Add Comment
Please, Sign In to add comment