【问题标题】:Postgres - merge two tables with sumPostgres - 用 sum 合并两个表
【发布时间】:2017-06-09 09:39:03
【问题描述】:

我有两张表,列相同,行数不同。我需要将这些表合并为一个,使用 client_id 和 segment_name 作为不同条目的唯一标识符,如果两个表之间存在匹配,则将 user_count 相加。非常感谢任何帮助。

表 A

client_id | segment_name    | user_count
-------------------------------------
45845     | segment45877-58 | 2358
55255     | weather558      | 20
88890     | jobs-listing    | 558

表 B

client_id | segment_name | user_count
--------------------------------------
45845     | segment45877-58   | 100 
55255     | weather558        | 350
2454      | leonardo-da-vinci | 5465

表 C(新)

client_id | segment_name      | user_count
-------------------------------------
45845     | segment45877-58   | 2458
55255     | weather558        | 370
88890     | jobs-listing      | 558
2454      | leonardo-da-vinci | 5465

【问题讨论】:

    标签: sql merge postgresql-9.3


    【解决方案1】:

    你可以试试

    CREATE TABLE C AS  
           (SELECT client_id, 
                   segment_name, 
                   SUM(user_count) AS user_count
            FROM   (SELECT * FROM A UNION ALL 
                    SELECT * FROM B) Data 
            GROUP  BY client_id, segment_name); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 2016-12-02
      • 1970-01-01
      相关资源
      最近更新 更多