【发布时间】:2018-11-16 06:39:27
【问题描述】:
我有一个查询,它连接两个 google 表并生成一个包含 6 列的表(a、b、c、d、e、f)。接下来,我将该表移动到一个谷歌存储桶,然后将该谷歌存储桶下载到一堆 CSV 文件中。最后,我将这些 CVS 插入到具有 2 个主键 a 和 b 的 postgres 数据库表中。
问题是 google 表中没有主键,并且某些行只有一个值不同,所以我需要生成一个在 a 和 b 中没有重复的查询结果。我已经尝试了以下...
SELECT
DISTINCT A.a,
A.b,
A.c AS c,
A.d AS d,
B.c AS e,
B.d AS f
FROM
`my_proj.my_table_A` A
FULL OUTER JOIN
`my_proj.my_table_B` B
ON
A.a = B.a
AND A.b = B.b
...但如果f 不同,它仍然允许a 和b 有重复项。我只需要其中一个重复的行,哪一个都没有关系。
如何仅根据a 和b 删除重复项?
【问题讨论】:
-
如果您仅基于
a和b进行重复数据删除,那么不同的f值会发生什么?你打算放弃其中一个吗? -
@ElliottBrossard,是的,只需删除其中一个,因为我只需要其中一个。
标签: sql google-bigquery