【问题标题】:Multiple SUM and JOIN on mysql with one query一个查询在 mysql 上进行多个 SUM 和 JOIN
【发布时间】:2017-03-04 12:35:57
【问题描述】:

我有一张桌子:

    member [member_id,member_name]

我的另一张桌子是:

  balance [balance_id,member_id,balance(transaction)]

现在我加入了这些表,并在 member_id 相同的地方添加了 SUM(balance)! 示例:

成员:

member_id , member_name
1, test_1
2, test_2

余额

balance_id,member_id,balance
1,1,-800
2,1,1000
3,2,500

会员加入余额

member_id , balance
1,200
2,500

注意:我只需一个查询即可获得所有这些信息!

【问题讨论】:

  • 您有问题吗?您应该包括样本数据、期望的结果和一个实际问题。
  • @GordonLinoff 实际上我的问题是:如何在一张表上使用多个总和(在一列上)。我添加了一个样本来提问很简单

标签: mysql join sum


【解决方案1】:

对于您的预期输出,这将是:

select member_id,
    sum(balance) balance
from balance
group by member_id

如果您需要将其与成员表连接,请执行以下操作:

select m.*,
    b.balance
from member m
join (
    select member_id,
        sum(balance) balance
    from balance
    group by member_id
    ) b on m.member_id = b.member_id;

还有一种方式是先join再聚合:

select m.member_id,
    m.member_name,
    sum(b.balance) balance
from member m
join balance b on m.member_id = b.member_id
group by m.member_id,
    m.member_name;

【讨论】:

  • 其实我需要加入!由于某些原因。你的第二个代码是真的,但不是一个查询!
  • @user6935676 - 它一个查询。它没有做你想做的事吗?
  • @user6935676 - 添加了第三个。请检查
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 2014-03-13
  • 1970-01-01
  • 2015-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多