mysql 父级和子级的求和sql

本文详细解析了一段复杂的SQL查询代码,旨在展示如何通过多表联接和子查询实现用户支付金额的汇总统计。该查询涉及到对userpay和userinfo表的深入操作,包括分组、聚合函数SUM的使用,以及通过子查询处理多层级的用户关系。
摘要由CSDN通过智能技术生成

查询sql

SELECT z.username,SUM(z.payprice) FROM (
SELECT up.username,SUM(payprice) AS payprice FROM userpay up
JOIN (SELECT username FROM userpay GROUP BY username ) n
WHERE up.username = n.username GROUP BY up.username
UNION ALL
SELECT n.username ,SUM(payprice) AS payprice
FROM userpay up JOIN (SELECT username FROM userpay GROUP BY username) n
WHERE up.`username` IN (SELECT u1.username FROM userinfo u1 WHERE u1.`parent_name` = n.username)
GROUP BY n.username
) z GROUP BY z.username

查询的结果集

155930_QyYu_1260823.png

 

SELECT * FROM userpay

155849_lHas_1260823.png

SELECT * FROM userinfo

160021_79hi_1260823.png

 

转载于:https://my.oschina.net/u/1260823/blog/715081

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值