在 MySql 中加入和求和?
Posted
技术标签:
【中文标题】在 MySql 中加入和求和?【英文标题】:JOIN and SUM in MySql? 【发布时间】:2021-03-21 08:54:56 【问题描述】:总的来说,我对 mysql 很陌生,所以我有一个基本问题。所以我有这两张表
CREATE TABLE customer (
id SMALLINT UNSIGNED NOT NULL auto_increment,
name VARCHAR(255) CHARACTER SET latin1 NOT NULL,
birthdate DATE NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE account (
id SMALLINT UNSIGNED NOT NULL auto_increment,
balance DECIMAL(7,2) NOT NULL DEFAULT 0.0,
ownedBy SMALLINT UNSIGNED NOT NULL,
nickname VARCHAR(255) CHARACTER SET latin1 DEFAULT NULL ,
PRIMARY KEY (id),
FOREIGN KEY (ownedBy) REFERENCES customer(id) ON UPDATE CASCADE ON DELETE CASCADE
);
我希望能够获取所有拥有帐户的客户以及他们所有银行帐户中的总数,但老实说,我对如何正确执行此操作感到困惑。我做到了
SELECT customer.name FROM customer JOIN account ON customer.id = account.id;
【问题讨论】:
【参考方案1】:首先,从您现有的查询开始,您需要修复连接条件:表account
通过列ownedby
与customer
相关,而不是id
。然后,您可以聚合和求和:
select c.name, sum(a.balance) as total_balance
from customer c
inner join account a on a.ownedby = c.id
group by c.id
【讨论】:
以上是关于在 MySql 中加入和求和?的主要内容,如果未能解决你的问题,请参考以下文章