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