Таблица `users` хранит адреса `email`. Извлеки домен (часть строки после символа `@`) и посчитай число пользователей на каждом домене. Верни колонки `domain` и `users_cnt`. Оставь только домены, где 2 и более пользователя. Сортировка: по `users_cnt` по убыванию, при равенстве — по `domain` по алфавиту (по возрастанию).
CREATE TABLE users (
id INTEGER PRIMARY KEY,
full_name TEXT NOT NULL,
email TEXT NOT NULL -- формат 'login@domain.zone'
);
строки SUBSTR INSTR email GROUP BY HAVING
Задача «Домен из email: сколько пользователей на каждом почтовике» учит решать задачи по теме «Парсинг строк: SUBSTR + INSTR» так, как это спрашивают на собеседовании аналитика данных. Такие задачи встречаются на собеседованиях в Ozon и других IT-компаниях. Уровень лёгкий — это база, которую должен уверенно держать каждый аналитик.
Сначала разберись со схемой данных и пойми, какой результат нужен на выходе. Определи, какие таблицы и поля задействованы, и собирай запрос пошагово: фильтрация → соединение или группировка → итоговый отбор и сортировка. Проверь результат на крайних случаях — NULL, дубликаты, пустые группы. Свой запрос сразу прогоняешь автопроверкой в интерактивной SQL-песочнице на реальной базе (SQLite и PostgreSQL 16 прямо в браузере).
Хочешь разобрать SQL системно с нуля — пройди бесплатный курс «SQL с нуля» и закрепи навык в тренажёре.
Решить в интерактивной SQL-песочнице → ← Все SQL-задачи