mysql 分组统计统计每个代理下面的所有充值额

新手上路,请多包涵

用户表:user 字段:id,parentid(上级的ID,0为最顶级)

统计报表:report 字段:time,u_id,pay,说明:每用户每日只会存储一行数据

用户下级表:user_lower 字段:u_id,lowerid,说明:本表是存储u_id的所有下级用户

统计单个代理下面的所有充值

#获取某个代理下面的所有用户
select * from user_lower where u_id = 1
#根据上面的SQL语句获取到lowerid的
select u_id,sum(pay) from report where u_id in (lowerid)

怎么样可以用SQL快速获取代理下面的充值额

阅读 2.5k
2 个回答

代理会有多层吗?

新手上路,请多包涵
SELECT 
    l.u_id u_id,u.username,
    report.time time,
    SUM(report.pay) pay,
FROM
    `sys_statistics`
        INNER JOIN
    user_lower l ON report.u_id = l.lowerid
        LEFT JOIN
    user u ON u.id = l.u_id
WHERE
    (report.time >= '2000-01-01')
        AND (report.time <= '2019-01-07')
        AND (u.parentid = '12500')
GROUP BY l.u_id
ORDER BY time DESC
LIMIT 30 OFFSET 0
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题