在 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 通过列ownedbycustomer 相关,而不是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 中加入和求和?的主要内容,如果未能解决你的问题,请参考以下文章

在 WordPress 数据库查询中加入/求和自定义字段

mysql 求和语句

mysql的行求和、列求和是啥?

mySQL 求和多行和排名处理关系

mysql 行转列,对列的分组求和,对行求和

如何在 MySQL 中对行进行求和