【问题标题】:How to Group Sum of a Join using POSTGRES如何使用 POSTGRES 对连接的总和进行分组
【发布时间】:2021-04-23 02:53:48
【问题描述】:

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

  • 房屋 ID - 100 条记录
  • 邮政编码 - 100 条记录
  • SquareFootage - 100 条记录

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

  • UniqueZipcodes - 10 条记录
  • TotalSquareFootage - 0 条记录

我想加入这两个表,并按每个邮政编码计算总平方英尺。 当我运行以下 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```

【问题讨论】:

标签: postgresql join group-by sum


【解决方案1】:
SELECT
    F.UNIQUEZipcode,
    SUM(SQUAREFOOTAGE) VALSUM 
FROM ZIPCODEDATA F
LEFT JOIN HOUSEDATA M ON (M.Zipcode = F.UNIQUEZipcode)
GROUP BY F.UNIQUEZipcode

【讨论】:

  • 请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常更有帮助、质量更好,并且更有可能吸引投票。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-20
  • 2019-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-01
相关资源
最近更新 更多