Задание 1
Подключитесь к MySQL из Jupyter/Colab через mysql-connector-python.
Revision 1 повторяет подключение MySQL из Python и практику SQL по базе sakila.
В Python используется mysql-connector-python: подключение, cursor, execute, fetchall, description, DataFrame и close.
SQL-повторение начинается с поиска фильмов по LIKE "%LION%" и подсчёта таких фильмов.
JOIN film, film_category и category нужен для вывода фильмов с категориями.
ORDER BY length DESC LIMIT 10 показывает самые длинные фильмы.
GROUP BY category и HAVING фильтруют категории по количеству фильмов.
Оконные функции AVG(...) OVER (PARTITION BY name) и DENSE_RANK() OVER (...) добавляют агрегаты без схлопывания строк.
Топ-3 ошибки: забыть закрыть соединение, фильтровать Horror по неверному category_id, путать GROUP BY и оконную агрегацию.
Подключитесь к MySQL из Jupyter/Colab через mysql-connector-python.
Выполните запрос к sakila и выведите результат как pandas DataFrame.
Выведите фильмы, где title содержит LION, и посчитайте их количество.
Выведите названия всех фильмов в категории Horror.
Выведите названия фильмов с названием категории.
Выведите 10 самых длинных фильмов.
Выведите количество фильмов по категориям.
Выведите категории, где фильмов больше заданного порога из вашего запроса.
Добавьте среднюю продолжительность фильма в каждой категории через оконную функцию.
Добавьте ранг по длине фильма.
Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.
Какая библиотека используется для подключения MySQL из Python?
Что делает cursor.execute?
Что возвращает fetchall()?
Где взять названия столбцов результата?
Как найти фильмы с LION в названии?
Какая конструкция фильтрует агрегированные группы?
Что делает AVG(length) OVER (PARTITION BY category)?
Какая функция ранжирует фильмы без пропусков рангов?