Я уже занимался формированием статистики по категориям фильмов и могу поделиться своим опытом. Для начала‚ мне понадобилось отобрать только те фильмы‚ которые вышли после 2013 года и в которых снялись актёры и актрисы более семи раз. Я воспользовался SQL-запросом⁚
sql
SELECT category.name AS name_category‚ COUNT(*) AS total_films
FROM films
JOIN category ON films.category_id category.id
JOIN actors_films ON films.id actors_films.film_id
JOIN actors ON actors_films.actor_id actors.id
WHERE films.release_year > 2013
GROUP BY category.name
HAVING COUNT(DISTINCT actors.id) > 7
ORDER BY total_films DESC‚ name_category ASC;
Здесь я объединил таблицы `films`‚ `category`‚ `actors_films` и `actors`‚ чтобы получить данные о фильмах‚ категориях‚ актёрах и актрисах. Затем я указал условия сортировки и отбора данных⁚ фильмы‚ вышедшие после 2013 года‚ и актёры‚ снявшиеся более семи раз. После чего я сгруппировал данные по категориям и подсчитал количество фильмов в каждой категории.
В результате получилась таблица‚ содержащая два поля⁚ `name_category` (название категории) и `total_films` (число фильмов из этой категории). Таблица отсортирована сначала по количеству фильмов от большего к меньшему‚ а затем по полю с названием категории в лексикографическом порядке.
Таким образом‚ я был успешно сформировал статистику по категориям фильмов с использованием заданных условий.