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);
我有两个 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);