Клиенты с балансом выше среднего по филиалу

Средняя subqueries Райффайзен

Условие задачи

В accounts — счета клиентов с филиалом и балансом. Найдите клиентов, у которых баланс строго выше среднего по ИХ филиалу, и выведите имя, филиал, баланс и средний баланс филиала (округлённый). Подвох: сравнивать надо со средним именно своего филиала (коррелированный подзапрос), есть филиал с единственным клиентом (никогда не выше своего среднего) и ничья по балансу. Сортировка по филиалу, затем по балансу убыванию.

Схема данных

CREATE TABLE accounts (
  account_id INTEGER PRIMARY KEY,
  client_name TEXT,
  branch TEXT,
  balance INTEGER
);

Темы

subqueries correlated aggregation ties filter

Подсказки

Что проверяет эта задача

Задача «Клиенты с балансом выше среднего по филиалу» учит использовать подзапросы в WHERE, FROM и SELECT и понимать, когда они уместнее JOIN. Такие задачи встречаются на собеседованиях в Райффайзен и других IT-компаниях. Уровень средний — типичная боевая задача на уверенное владение SQL.

Как подступиться к решению

Сначала разберись со схемой данных и пойми, какой результат нужен на выходе. Определи, какие таблицы и поля задействованы, и собирай запрос пошагово: фильтрация → соединение или группировка → итоговый отбор и сортировка. Проверь результат на крайних случаях — NULL, дубликаты, пустые группы. Свой запрос сразу прогоняешь автопроверкой в интерактивной SQL-песочнице на реальной базе (SQLite и PostgreSQL 16 прямо в браузере).

Хочешь разобрать SQL системно с нуля — пройди бесплатный курс «SQL с нуля» и закрепи навык в тренажёре.

Решить в интерактивной SQL-песочнице → ← Все SQL-задачи