mysql 取一个月内过期的积分_假设想记录用户一个月内的积分历史,MySQL建表该怎么建呢...

这个需求需要多张表来实现。

简单梳理一下需求:

1.系统有多个用户。不知道你的行业,用户以中等规模看(50-500万,通常在连锁、零售业会有,如果是互联网行业可能更多;也可能是游戏等)

2.每一用户根据其行为获得积分(可能是注册、签到、购物、充值、推荐。。。等)

3.积分可以在某些场景下消费(减少积分)

4.用户需要查看其即时的当前积分余额以及积分变化记录(类似银行账户)

5.平台需要有积分榜(总积分榜、月积分榜、周积分榜),可能是余额榜,也可能是积分获得榜。

那么,通常需要这几张表:

1.积分异动明细表。记录积分的变化情况(增、减)、发生时间、来源、来源描述、用户等。

2.积分统计表。以月、周为单位的积分统计。需要记录周期、用户、积分增加、积分消费、积分余额。看业务需要也许还要增加上期余额。这个表不是一张,推荐周是周统计表,月是月统计表。周、月统计均通过批次作业每周期后执行。如果统计过后,异动明细有调整(如,某渠道的积分没有及时获得、或是积分记录出错需要更改),则发生日期后的周、月统计可能要重新计算。当然,也可以调整在当期(这个参考财务概念)

最后,列出来表结构吧:

1.积分异动明细表(用户号、业务序号流水、发生时间、来源(各业务)、来源描述(各业务详细说明,如单号)、变化方向(增、减)、积分、备注)

2.周积分统计表(用户号、周序号(可以是4位年+2位周)、上期余额、本期增加积分、本期消费积分、本期积分余额)

3.月积分统计表(用户号、月序号(4位年+2位月)、上期余额、本期增加积分、本期消费积分、本期积分余额)

以上,请参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值