Во-первых, у меня есть база данных транзакций со следующим полем. Требуется предупредить администратора пользователя, если пользователь последовательно удерживает баланс 1000 долларов США в течение более 30 дней.
TransactionID
TransactionType - депозит, вывод, перевод
TransactionFromUserID
TransactionToUserID
TransactionValueUsd
TransactionDateTime
Примечание:
- В настоящее время у меня есть только эта таблица, и у меня нет другой таблицы для обновления баланса. Баланс рассчитывается на лету.
Если один из дней не превышает 1000 долларов США, его необходимо пересчитать заново
Не нужно беспокоиться о проблемах производительности. Просто нужно общее представление о том, как мне создать другую таблицу для хранения значения и, возможно, триггер для решения этой проблемы.
например:
2019-01-01: депозит 500 usd
2019-02-01: депозит 2000 долларов США - остаток 2500 долларов США, отсчет от начала отсюда
2019-02-10: снять 2500 долларов США - остаток 500, дата сброса
2019-02-15: депозит 2000 долларов США - баланс 2500 - дата начала превышения снова здесь
2019-04-15: снять 1000 долларов США - остаток 1500 - отметить здесь и сбросить дату последнего превышения