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