【发布时间】:2020-04-28 13:22:27
【问题描述】:
有一个重复行的表,其中所有列的值都相等:
+------+---------+------------+
| id | value | timestamp |
+------+---------+------------+
| 1 | 500 | 2019-10-12 |
| 2 | 400 | 2019-10-11 |
| 1 | 500 | 2019-10-12 |
+------+---------+------------+
我想保留其中一个相等的行并删除其他行。我想出了:
DELETE
FROM
`table` t1
WHERE (
SELECT
ROW_NUMBER() OVER (PARTITION BY id),
FROM
`table` t2
WHERE
t1.id = t2.id
) > 1
但这不起作用:
不支持引用其他表的相关子查询 除非它们可以去相关,例如通过将它们转换为 高效的 JOIN。
任何想法如何删除重复的行?
【问题讨论】:
标签: google-bigquery