Загрузка данных


-- 2. Все записи
SELECT * FROM stream_session;

-- 3. Краткий список стримов
SELECT channel_name, category, language, start_date FROM stream_session;

-- 4. Все категории без повторов
SELECT DISTINCT category FROM stream_session;

-- 5. Все языки без повторов
SELECT DISTINCT language FROM stream_session;

-- 6. Стримы из категории Just Chatting
SELECT * FROM stream_session WHERE category = 'Just Chatting';

-- 7. Стримы на русском языке
SELECT * FROM stream_session WHERE language = 'Russian';

-- 8. Средняя аудитория >= 500
SELECT * FROM stream_session WHERE avg_viewers >= 500;

-- 9. Длительность от 120 до 180 минут
SELECT * FROM stream_session WHERE duration_minutes BETWEEN 120 AND 180;

-- 10. Категории Music, Art, Food & Drink
SELECT * FROM stream_session WHERE category IN ('Music', 'Art', 'Food & Drink');

-- 11. Донаты больше 100 евро
SELECT * FROM stream_session WHERE donation_eur > 100;

-- 12. Прирост подписчиков = 0
SELECT * FROM stream_session WHERE subs_gained = 0;

-- 13. Нет заметки модератора
SELECT * FROM stream_session WHERE moderator_note IS NULL;

-- 14. Заметка модератора указана
SELECT * FROM stream_session WHERE moderator_note IS NOT NULL;

-- 15. Название канала начинается с А
SELECT * FROM stream_session WHERE channel_name LIKE 'А%';

-- 16. Название содержит "Мах"
SELECT * FROM stream_session WHERE channel_name LIKE '%Мах%';

-- 17. Начались после 15 января 2026
SELECT * FROM stream_session WHERE start_date > '2026-01-15';

-- 18. Сортировка по дате начала от новых к старым
SELECT * FROM stream_session ORDER BY start_date DESC;

-- 19. Сортировка по средней аудитории и пику зрителей по убыванию
SELECT * FROM stream_session
ORDER BY avg_viewers DESC, peak_viewers DESC;

-- 20. Топ-5 по пику зрителей
SELECT * FROM stream_session
ORDER BY peak_viewers DESC
LIMIT 5;

-- 21. Топ-3 самых длинных стрима
SELECT * FROM stream_session
ORDER BY duration_minutes DESC
LIMIT 3;

-- 22. Длительность в часах
SELECT *, ROUND(duration_minutes / 60.0, 2) AS duration_hours
FROM stream_session;

-- 23. Просмотр-минуты (avg_viewers * duration_minutes)
SELECT *, avg_viewers * duration_minutes AS viewer_minutes
FROM stream_session;

-- 24. Донаты в час (округлить до 2 знаков)
SELECT *,
       ROUND(donation_eur / (duration_minutes / 60.0), 2) AS donation_per_hour
FROM stream_session;

-- 25. "ОК" если заметки нет, иначе заметка
SELECT *,
       COALESCE(moderator_note, 'ОК') AS note_status
FROM stream_session;

-- 26. Группы по размеру аудитории
SELECT *,
       CASE
           WHEN avg_viewers >= 1000 THEN 'HUGE'
           WHEN avg_viewers >= 500 THEN 'MID'
           ELSE 'SMALL'
       END AS audience_group
FROM stream_session;

-- 27. Общее количество стримов
SELECT COUNT(*) AS total_streams FROM stream_session;

-- 28. Мин, макс, средняя аудитория
SELECT MIN(avg_viewers) AS min_avg,
       MAX(avg_viewers) AS max_avg,
       AVG(avg_viewers) AS avg_avg
FROM stream_session;

-- 29. Количество стримов по категориям (сортировка по убыванию)
SELECT category, COUNT(*) AS cnt
FROM stream_session
GROUP BY category
ORDER BY cnt DESC;

-- 30. Суммарные донаты по категориям (сортировка по убыванию)
SELECT category, SUM(donation_eur) AS total_donations
FROM stream_session
GROUP BY category
ORDER BY total_donations DESC;