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)