Postgres - 用总和合并两个表

Postgres - merge two tables with sum

我有两个 table 具有相同的列,但行数不同。我需要使用 client_id 和 segment_name 作为不同条目的唯一标识符将这些 table 合并为一个,如果两者 user_count 相匹配,则对 user_count 求和 table秒。非常感谢任何帮助。

table一个

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

table B

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

table C(新)

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

你可以试试

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);