Использование SQL или Spark-SQL — как обновить значение столбца на основе количества записей агрегации, превышающего 1Python

Программы на Python
Ответить
Anonymous
 Использование SQL или Spark-SQL — как обновить значение столбца на основе количества записей агрегации, превышающего 1

Сообщение Anonymous »

У меня есть набор данных о том, как клиенты отказываются от участия в рекламной акции. У них всегда будет уникальный идентификатор customer_id, но они могут совместно использовать жилое пространство. Проблема возникает, когда два клиента, живущие в одном доме, используют разные методы рекламных акций (add, delete, NULL) в один и тот же день.
Проблема возникает, когда у нескольких членов семьи разные значения promo_action возникают в та же promo_action_date. Если один из членов семьи выберет удаление, нам необходимо убедиться, что все члены семьи будут считаться удаленными для участия в акции. В этом случае как можно обновить столбец promo_action, если существует несколько записей с одинаковыми идентификаторами домохозяйства и promo_action_date, но разными значениями для promo_action? В этом случае необходимо было бы обновить promo_action_date на «DELETE».
Таблица promo_action_household содержит 4 столбца, показанные здесь в заголовках.
До


customer_id
home_id
promo_action
promo_action_date




101
54
УДАЛИТЬ
2024-10-03


157
54< /td>
NULL
2024-10-03



После



customer_id
home_id
promo_action
promo_action_date




101
54
УДАЛИТЬ
2024- 10-03


157
54
УДАЛИТЬ
2024-10-03



I надеялся обновить столбцы записей на «УДАЛИТЬ», если это условие было выполнено при запросе таблицы promo_action_household. SQL или Spark-SQL — это целевые инструменты, которые можно использовать здесь.
select household_id, promo_action_date, count(*) from promo_action_household group by household_id, promo_action_date having count(*)>1


Подробнее здесь: https://stackoverflow.com/questions/791 ... ion-record
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»