SQLLab
Практика· 12 мин· 15 XP

Доля транзакции от итога по счёту

Задание

Контекст: Финансовый аналитик изучает структуру транзакций внутри каждого счёта. Одна крупная транзакция на 90% от оборота счёта и десять мелких по 1% — это совсем другой паттерн, чем равномерное распределение. Долевой анализ помогает выявить нетипичное поведение и возможные ошибки.

Техническое задание: Напишите SQL-запрос к таблице transactions.

Для каждой транзакции посчитайте общую сумму всех транзакций по тому же счёту с помощью оконной функции SUM(amount) OVER (PARTITION BY account_id). Затем вычислите долю транзакции в процентах от этой суммы.

Выведите:

  • id — идентификатор транзакции
  • account_id — идентификатор счёта
  • amount — сумма транзакции
  • account_total — суммарный оборот счёта
  • pct — доля транзакции в процентах, округлённая до 2 знаков после запятой

Отсортируйте по account_id по возрастанию, затем по amount по убыванию — крупнейшие транзакции каждого счёта сверху.

Результат выполнения SQL-запроса
История твоих попыток решения
Показать эталонное решение задачи
ER-диаграмма таблиц базы данных
Ожидаемые колонки в правильном ответе
Появится после 3 неудачных попыток
Анализ плана выполнения запроса PostgreSQL

Результаты появятся здесь после выполнения запроса.