Прежде всего, ваш вызов ROW_NUMBER
имеет большой смысл, потому что вы никогда не предоставили предложение ORDER BY
.Без этого вы, в основном, говорите BigQuery, что вам не важно, какой порядок используется для определения номера строки.Кроме этого, вот запрос, который вы можете попытаться удалить своими записями:
DELETE
FROM corp-analytics.Reports.Metrics AS c
WHERE
(SELECT ROW_NUMBER() OVER (PARTITION BY KeyReport, Analytics, Description, AsOfDate
ORDER BY some_column)
FROM corp-analytics.Reports.Metrics AS c2
WHERE d.id = d2.id) = 1 AND
AsOfDate IN ('01-03-2019', '01-17-2019');
Предполагается, что существует некоторый первичный ключ или другой уникальный ключ, столбец id
, который можно использовать для однозначной идентификации любогозапись в вашей таблице.Если этого не существует, то мы должны сопоставить подзапрос в предложении WHERE
, используя другой метод.