SQL BigQuery - у меня есть дубликаты строк в первичном ключе, которые мне нужно удалить (я не хочу навсегда удалить из таблицы). Мне нужно сгруппировать несколько других полей для агрегирования результатов, и у меня возникают проблемы, так как мне приходится включать первичный ключ, но я не могу группировать по нему и удалять дубликаты одновременно.
Я видел примеры в стеке, но у меня возникли проблемы, связанные с этим делом. Я попробовал следующее, и это не приводит к какой-либо группировке, потому что мне нужно сгруппировать по идентификатору, чтобы оставить его в операторе выбора.
SELECT Distinct (ID),Event_ID,Event_Name,Sum(Quantity), Sum(Price*Quantity)
FROM table
GROUP BY ID, Event_ID, Event_Name
Я попытался удалить идентификатор из предложения group by и добавить «Min (Distinct (ID))», как первая строка выбора, но она не удаляла дубликаты.
Я также пытался
SELECT Distinct (ID),Event_ID, Event_Name, Sum(Quantity) ,Sum(Price*Quantity),
FROM table
INNER JOIN
(SELECT ID as DeduplicatedID
FROM table
GROUP BY ID) deduplicatedtable ON table.ID = deduplicatedtable.ID
GROUP BY ID, Event_ID, Event_Name
и получил эту ошибку
Заранее спасибо!
группы на уровне идентификатора, однако некоторые из этих идентификаторов имеют дубликаты, которые предоставляют неверные номера TotalQuantity и TotalRevenue при группировании по событию
того, что я хотел бы, чтобы сгруппированные данные выглядели, но это неверно и включает дубликаты идентификаторов, когда поля количества и оборота суммируются.