View difference between Paste ID: Se9WMT5y and 7Pf3f4GJ
SHOW: | | - or go back to the newest paste.
1-
/*Отберите фамилии пользователей, которые:
1+
/*Сформируйте статистику по категориям фильмов. Отобразите в итоговой таблице два поля:
2-
оформили хотя бы один заказ в январе 2013 года,
2+
название категории;
3-
а также сделали хотя бы один заказ в остальные месяцы того же года.
3+
число фильмов из этой категории.
4-
Пользователей, которые оформили заказы только в январе, а в остальное время ничего не заказывали, в таблицу включать не нужно.
4+
Фильмы для второго поля нужно отобрать по условию. Посчитайте фильмы только с теми актёрами и актрисами, которые больше семи раз снимались в фильмах, вышедших после 2013 года. 
5
Назовите поля name_category и total_films соответственно. Отсортируйте таблицу по количеству фильмов от большего к меньшему, а затем по полю с названием категории в лексикографическом порядке.
6
*/
7-
SELECT last_name
7+
8-
FROM client
8+
SELECT category.name AS name_category,
9-
WHERE customer_id IN
9+
       COUNT(movie.film_id) AS total_films
10-
    (SELECT not_january.customer_id
10+
FROM movie
11-
     FROM
11+
INNER JOIN film_category ON movie.film_id = film_category.film_id
12-
       (SELECT DISTINCT(customer_id)
12+
INNER JOIN category ON category.category_id = film_category.category_id
13-
        FROM invoice
13+
WHERE movie.film_id IN
14-
        WHERE (CAST(invoice_date AS date) BETWEEN '2013-01-01' AND '2013-01-31')) AS january
14+
    (SELECT movie.film_id
15-
     INNER JOIN
15+
     FROM movie
16-
       (SELECT DISTINCT(customer_id)
16+
     
17-
        FROM invoice
17+
     INNER JOIN film_actor ON movie.film_id = film_actor.film_id
18-
        WHERE (CAST(invoice_date AS date) BETWEEN '2013-02-01' AND '2013-12-31')) AS not_january ON january.customer_id = not_january.customer_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;