这次分享的内容很简单,就是一张表的设计思路。
一、背景
在做交易所的时候有个需求,需要统计邀请注册人数,比如 A邀请B, B邀请C, C邀请D。那么A的邀请人数就是3个,B的邀请人数就是2个,C的邀请人数就是1个。除此之外,还要能统计出A直接邀请人数,A下一级邀请人数,A下二级邀请的人数,以此类推。
二、实现
首先是用户注册信息表UserInfo需要增加一个ParentId字段。
然后,新建一张层级关系表TeamLevel,表结构如下:
CREATE TABLE `teamlevel` ( `Id` bigint(20) NOT NULL, `UserId` varchar(50) DEFAULT NULL COMMENT ‘用户Id‘, `ParentId` varchar(50) DEFAULT NULL COMMENT ‘推荐人Id‘, `Level` int(10) DEFAULT NULL COMMENT ‘层级‘, PRIMARY KEY (`Id`) )
1.在注册的时候需要往这张表插入数据,比如D推荐E来注册,就需要往库里插入如下记录:
2.有了这些记录之后,查询统计就方便多了,用户的层级关系也一目了然。
原文地址:https://www.cnblogs.com/w3liu/p/10068398.html
时间: 2024-10-10 07:36:57