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; |