mysql多表关联求和_关于MySQL多表联查并求和计算?

是这样的一个情况 这里有三张表 分别是用户user,订单 trade ,和资金记录 user_money_record

现在要根据用户来统计他们的订单总金额和账户余额以及充值总金额

user表

id realname money

1 张xx 100

2 王xx 500

3 李xx 1500

trade

id uid realmoney

1 2 5000

2 1 1000

3 2 5000

4 3 10000

5 1 3500

user_money_record

id uid money

1 2 5000

2 1 5000

3 2 2000

4 2 3000

5 3 5000

6 3 5000

表结构及数据如上

求统计他们的订单总金额和账户余额以及充值总金额

谢谢!

我猜想你可能是要这样的

select u.name,t.realmoney,umr.money from user u

left join

(select uid,sum(realmoney) as realmoney from trade group by uid) t on t.uid = u.id

left join

(select uid,sum(money) as money from user_money_record group by uid) umr on umr.uid = uid

如果user表的信息是最完整的,应该是这样的:

SELECT *

FROM (SELECT id, sum(money) FROM user GROUP BY id) t1

LEFT JOIN (SELECT id, sum(realmoney) FROM trade GROUP BY id) t2 ON t1.id = t2.id

LEFT JOIN (SELECT id, sum(money) FROM user_money_record GROUP BY id) t3 ON t1.id = t3.id

对于这样的情况 假如数据量过大的情况如何处理

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值