Средний уровень SQL-запросов с ИИ
Jasmin Ludolf
Senior Data Science Content Developer
Запрос: Показать количество фильмов с бюджетом и без бюджета по каждому году
SELECT
release_year,
COUNT(CASE WHEN budget IS NOT NULL THEN 1 END) AS films_with_budget,
COUNT(CASE WHEN budget IS NULL THEN 1 END) AS films_without_budget
FROM films
GROUP BY release_year;
|release_year|films_with_budget|films_without_budget|
|------------|-----------------|--------------------|
|1964 |10 |0 |
|1969 |9 |1 |
...

Запрос: Показать количество фильмов с бюджетом и без бюджета по каждому году
SELECT
release_year,
COUNT(CASE WHEN budget IS NOT NULL THEN 1 END) AS films_with_budget,
COUNT(CASE WHEN budget IS NULL THEN 1 END) AS films_without_budget
FROM films
GROUP BY release_year;
|release_year|films_with_budget|films_without_budget|
|------------|-----------------|--------------------|
|1964 |10 |0 |
|1969 |9 |1 |
...
1Запрос: Показать количество фильмов с бюджетом и без бюджета по каждому году
SELECT
release_year,
SUM(CASE WHEN budget IS NOT NULL THEN 1 ELSE 0 END) AS films_with_budget,
SUM(CASE WHEN budget IS NULL THEN 1 ELSE 0 END) AS films_without_budget
FROM films
GROUP BY release_year;
|release_year|films_with_budget|films_without_budget|
|------------|-----------------|--------------------|
|1964 |10 |0 |
|1969 |9 |1 |
...
Запрос: Показать количество фильмов с бюджетом и без бюджета по каждому году
SELECT
release_year,
COUNT(CASE WHEN budget IS NOT NULL THEN 1 END) AS films_with_budget,
COUNT(CASE WHEN budget IS NULL THEN 1 END) AS films_without_budget
FROM films
GROUP BY release_year;
NULLs попадают в films_without_budgetWHEREЗапрос: Для каждого года после 2000, в котором есть хотя бы 5 фильмов с данными о бюджете, классифицировать фильмы как «Высокий бюджет» (бюджет более 1 миллиона) и «Низкий бюджет» (бюджет 1 миллион и менее), показать количество по каждой категории, упорядочить по году и вывести топ-10
SELECT release_year,COUNT(CASE WHEN budget > 1000000 THEN 1 END) AS high_budget_count, COUNT(CASE WHEN budget <= 1000000 THEN 1 END) AS low_budget_countFROM filmsWHERE release_year > 2000 AND budget IS NOT NULLGROUP BY release_yearHAVING COUNT(*) >= 5ORDER BY release_year LIMIT 10;
$$
$$
$$
$$

Средний уровень SQL-запросов с ИИ