首页 > 解决方案 > 如何使用 POSTGRES 对连接的总和进行分组

问题描述

两个表:表 M 有 3 列 - 包含 100 条记录 - HOUSEDATA

表 F 有 2 列 - 包含 10 条记录 - ZIPCODEDATA

我想加入这两个表,并按每个邮政编码计算总平方英尺。当我运行以下 UPDATE 时,它会将所有邮政编码汇总到每一行中,并显示表 F 中 10 行中每一行中所有邮政编码的总数。

SET TOTALSQUAREFOOTAGE = F.VALSUM
FROM HOUSEDATA AS M
INNER JOIN
(SELECT ZIPCODEDATA.UNIQUEZipcode,
            SUM(SQUAREFOOTAGE) VALSUM
            FROM ZIPCODEDATA
            GROUP BY UNIQUEZipcode) F ON M.Zipcode = F.UNIQUEZipcode```

标签: postgresqljoingroup-bysum

解决方案


SELECT
    F.UNIQUEZipcode,
    SUM(SQUAREFOOTAGE) VALSUM 
FROM ZIPCODEDATA F
LEFT JOIN HOUSEDATA M ON (M.Zipcode = F.UNIQUEZipcode)
GROUP BY F.UNIQUEZipcode

推荐阅读