我在BigQuery有两张桌子。一个表有date、id和name列。对于每个名称,都有几个与其相关的it。数据如下:
date id name
7/11 1 A
7/11 2 A
7/11 3 B
7/11 4 B另一个表中有date、id、comments、shares列。此表中的id没有与其相关联的名称。这张桌子是这样的:
date id comments shares
7/11 1 2 null
7/11 2 4 2
7/11 3 1 1
7/11 4 5 3最终目标是获取与特定名称关联的所有ids (表1),并汇总名称的注释和共享,或者更确切地说,对于ids列表(表2),所需的输出如下所示:
date name comments shares
7/11 A 6 2
7/11 B 6 4发布于 2021-08-04 21:36:31
您需要两个表的连接和聚合:
SELECT t1.date, t1.name,
COALESCE(SUM(t2.comments), 0) comments,
COALESCE(SUM(t2.shares), 0) shares
FROM table1 t1 LEFT JOIN table2 t2
ON t2.date = t1.date AND t2.id = t1.id
GROUP BY t1.date, t1.name见演示。
https://stackoverflow.com/questions/68658225
复制相似问题