Добро пожаловать в mysql на SO!
@ chaos указывает вам правильное направление, но ответ немного неполный.
Этого недостаточно, чтобы суммировать изменения. Вам необходимо знать, сколько транзакций было проведено с этой суммой. Судя по предоставленным вами данным, это нетривиально.
Для каждого изменения вам необходимо знать, сколько платежей было произведено с этой даты, затем вы умножаете изменение на количество платежей и суммируете эту сумму.
Как узнать количество платежей? Предполагая, что существует один платеж в месяц, вам необходимо рассчитать количество месяцев между датой окончания и датой изменения. Вы можете использовать для этого функцию MySQL PERIOD_DIFF, но вам нужно будет получить аргументы в правильном формате, поскольку она не принимает даты. Если ваш столбец TxnDate на самом деле является датой, вы можете использовать функцию DATE_FORMAT для создания аргументов в нужном вам формате. Если это не дата, вам нужно будет преобразовать ее в дату, прежде чем вы сможете использовать функцию DATE_FORMAT, или вы можете напрямую преобразовать ее в формат, необходимый для PERIOD_DIFF.
Обратите внимание, что PERIOD_DIFF дает вам количество периодов между двумя датами. Если вы хотите включить оба (что, похоже, вам нужно), вам нужно будет добавить к результату 1.
Итак, вам понадобится что-то вроде:
SELECT Customer_ID, SUM((PERIOD_DIFF(<arg1>, <arg2>)+1)*MRR_Change)
FROM <TableName> GROUP BY Customer_ID
Очевидно, что вам нужно чтобы указать соответствующие аргументы для функции PERIOD_DIFF, и, конечно, я не могу гарантировать отсутствие опечаток!
Этого должно быть достаточно, чтобы указать вам правильный ответ,