繁体   English   中英

如何编写 SQL 查询以获取交易总和?

[英]How to write a SQL query to get sum of transactions?

我想要 sql 查询这个。 我有三个表客户,帐户,交易的架构如下在此处输入图像描述

我想获取客户详细信息、帐户 ID、交易 ID 总和在此处输入图像描述

您可以对按 CustomerID 分组的交易求和,然后加入 CustomerID 上的客户表,如下所示:

SELECT c.Customer_name, c.Customer_mobile, t.Transaction_sum
FROM Customer c
JOIN (
    SELECT t.CustomerID, SUM(t.Sum) as Transaction_sum
    FROM transactions t
    GROUP BY t.CustomerID
    ) t on t.CustomerID = c.CustomerID

您的查询非常接近。 尝试这个:

SELECT c.customer_id, a.Account_id, SUM(t.transaction_amount) as amount
FROM Account a INNER JOIN
     Customer c
     ON a.customer_id = c.customer_id INNER JOIN
     Transaction t
     ON a.account_id = t.account_id
GROUP BY c.customer_id, a.account_id;

请注意使用表别名来简化查询。 而且——更重要的是SELECT列和GROUP BY列是一致的。

因为customer_idAccount表中,所以您不需要Customer表。 因此,您可以将其简化为:

SELECT a.customer_id, a.Account_id, SUM(t.transaction_amount) as amount
FROM Account a INNER JOIN
     Transaction t
     ON a.account_id = t.account_id
GROUP BY a.customer_id, a.account_id;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM