0

现在两个表:user,user_lower
user_lower主要记录上下级关系的
u_id用户ID,lowerid下级ID
用户关系,请看图。
现在需要进行分组求A,B,C用户下的money字段的总和

create table user
(
    id              int auto_increment  primary key,
    username        varchar(32) collate utf8_unicode_ci       not null,
    password        char(32) collate utf8_unicode_ci          not null,
    parentid        int                                       null, comment '上级ID,最上级为0',
    money          decimal(11,4)      default 0                 null, comment '金额',
    constraint name
        unique (username)
)


create table user_lower
(
    u_id    int not null,
    lowerid int not null,
    primary key (u_id, lowerid)
)

image.png

南龙 2
12月3日提问

查看全部 3 个回答

0

处理层次树形数据,最好加入一个冗余字段,值为第一层节点的id,假设这个字段为topUserId,然后你group by topUserId就可以直接统计出聚合值。topUserId在写入parent时同时写入,其值等于parent的topUserId,如果parent==null,则等于自己的id。

推广链接