【问题标题】:JOIN and SUM in MySql?在 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;

【问题讨论】:

    标签: mysql sql sum inner-join aggregate-functions


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2011-10-29
      • 2021-07-04
      • 2016-06-26
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多