Все квизы
SQL временных отчётов
Проведи ревью запросов для временных отчётов в SQLite 3.51. Исправь накопительный итог, выбор последнего состояния, группировку по календарному месяцу и объединение строк из разных каналов.
Код-ревью
В SQLite 3.51 отчёт должен показывать накопительный итог после каждого платежа в порядке occurred_at, payment_id. Платежи 1 и 2 с суммами 10 и 20 имеют одинаковый occurred_at, платёж 3 позже и равен 5. Запрос возвращает итоги 30, 30, 35 вместо 10, 30, 35. Как исправить окно?
SELECT payment_id, amount,
SUM(amount) OVER (ORDER BY occurred_at) AS running_total
FROM payments
ORDER BY occurred_at, payment_id;