Mysql 如何删除person';期末的信用证是多少?

Mysql 如何删除person';期末的信用证是多少?,mysql,Mysql,我有一个系统,在这个系统中,客户可以在任何购买中获得信用。 现在我想在每三个月后强制取消这项信用。 比如…如果一个人的积分为一月-二月-三月…现在,当四月到来时,它会自动删除一月月份的积分,并重新计算下一个三个月的积分 这里的信用分录表示客户已经买了东西……所以他们的账户只需记几分。 借方分录表示他们在订单中将此贷方作为货币使用 我有如下表格条目 一月、二月、三月的情况 Total Credits(for last 3 months only ) = Total Credit - Total

我有一个系统,在这个系统中,客户可以在任何购买中获得信用。 现在我想在每三个月后强制取消这项信用。 比如…如果一个人的积分为一月-二月-三月…现在,当四月到来时,它会自动删除一月月份的积分,并重新计算下一个三个月的积分

这里的信用分录表示客户已经买了东西……所以他们的账户只需记几分。

借方分录表示他们在订单中将此贷方作为货币使用

我有如下表格条目


一月、二月、三月的情况

Total Credits(for last 3 months only ) = Total Credit - Total Debit

                                     3 =  30 - 27
这3个学分将转到下个月(四月),但如何从中删除第一个月(一月)学分

SELECT SUM(COALESCE(CASE WHEN cr_dr = 'Credit' THEN amount END,0)) - 
SUM(COALESCE(CASE WHEN cr_dr = 'Debit' THEN amount END,0)) balance 
FROM cb_customer_credit_log WHERE coupon_assignee = "1"  AND    created_on >= now() - interval 3 month ")

我相信你需要这样的东西

date(now() - interval 3 month)   
此代码仅计算3个月内的日期和时间记录。从字面意义上讲,这是90天以前的事,不考虑每月29、30、31天。如果你在这个月开始第九个月,你会在过去的第九个月结束。让事情变得更容易

now()是当前系统时间。 间隔3个月。。。用于计算从当前系统时间起3个月的折返时间的命令。
必须将整行与条件>=(大于或等于)配对

例如:

activitydatetime >= date(now() - interval 3 month)   

你试过什么?请给我们看看你的代码我不明白这些是什么“表格条目”。看,我不清楚你在问什么,你想要的结果是什么?你应该让你的样本数据类似于你的代码,样本数据太简单了,没有用处。你说的“删除此积分”是什么意思?你是说将1月份的数据归零还是删除?是的,删除1月份的数据并重新计算2月份、3月份的数据,四月。所以二月的第一个条目变为+15 cr,三月的第一个条目变为+13 cr,四月的第一个条目变为+13 cr?借方可以比贷方多吗?或者用户只能花费贷方的钱吗?我很感激你的回答,但在某些情况下它会变成负数。比如前3个月它(总贷方-总借方)=3,如果你用相同的公式计算最后三个月的金额(总贷方-总借方)=7…对吗?也许试着延长4个月,然后再观察一次。我不确定你想达到什么,但这可能是你自己的系统标准。
activitydatetime >= date(now() - interval 3 month)