Для двух флагов used_card = 1 и used_paypal = 1 нужно выбрать пользователей, которые использовали exactly one способ оплаты. Какое условие соответствует этому, используя комбинацию OR, AND и NOT без перечисления двух кейсов?

Aused_card = 1 OR used_paypal = 1
BNOT (used_card = 1 OR used_paypal = 1)
C(used_card = 1 OR used_paypal = 1) AND NOT (used_card = 1 AND used_paypal = 1)
Dused_card = 1 AND used_paypal = 1
Правильный ответ. exactly one можно записать как at least one AND NOT оба одновременно.

Разбор

Первая часть (A OR B) гарантирует, что выполнено хотя бы одно условие. Вторая часть NOT (A AND B) запрещает ситуацию, когда истинны оба условия одновременно. В сочетании это даёт ровно один истинный флаг. Такая форма удобна, когда сами условия длинные и их не хочется дублировать в двух ветках.

Проверь себя · 1/3разбор после ответа
Поле country содержит ровно одно значение на пользователя. Какое условие является always false?
Открыть Карьерник в Telegram

Ещё вопросы по теме «Булева логика и фильтры»