В форме регистрации есть два флага: has_email = 1 и has_phone = 1. Что означает фильтр NOT (has_email = 1) AND NOT (has_phone = 1)?

AУ пользователя указан хотя бы один контакт: has_email = 1 OR has_phone = 1 после преобразования
BУ пользователя указаны оба контакта одновременно: has_email = 1 AND has_phone = 1
CУ пользователя не указан ни один контакт: ложно и has_email = 1, и has_phone = 1
DУ пользователя указан ровно один контакт: один из флагов равен 1, а другой 0
Правильный ответ. Связка NOT A AND NOT B означает, что не выполнено ни одно из двух условий.

Разбор

Чтобы строка прошла фильтр, должны быть ложными оба условия: и has_email = 1, и has_phone = 1. Это случай, когда не указан ни один контакт. Частая ошибка — путать с NOT (A AND B), что по закону Де Моргана равно NOT A OR NOT B и допускает заполнение одного контакта из двух.

Проверь себя · 1/3разбор после ответа
В сегмент нужно включить пользователей, у которых активен хотя бы один из флагов: is_student = 1 или has_coupon = 1. Какое условие соответствует формулировке «хотя бы один»?
Открыть Карьерник в Telegram

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