В сегмент нужно включить пользователей, у которых активен хотя бы один из флагов: is_student = 1 или has_coupon = 1. Какое условие соответствует формулировке «хотя бы один»?
A
is_student = 1 AND has_coupon = 1 без других дополнительных условийB
is_student = 1 OR has_coupon = 1 без других дополнительных условийC
NOT (is_student = 1 OR has_coupon = 1) без других дополнительных условийD
(is_student = 1 AND NOT has_coupon = 1) OR (NOT is_student = 1 AND has_coupon = 1)Правильный ответ. Фраза «хотя бы один» соответствует логическому
OR между условиями.Разбор
Условие A OR B истинно, если истинно A, или истинно B, или истинны оба. Это ровно соответствует «хотя бы один признак». AND отберёт только тех, у кого активны оба флага. NOT (A OR B) отберёт пользователей, у которых ни одного флага нет. Длинная конструкция с XOR-логикой соответствует «ровно один из флагов», а не «хотя бы один».
Проверь себя · 1/3разбор после ответа
Есть два флага участия в экспериментах:
in_ab_test = 1 и in_holdout = 1. Нужно выбрать пользователей, которые не находятся ни в одном из них. Какое условие корректно?Ещё вопросы по теме «Булева логика и фильтры»
- Какому выражению со скобками эквивалентно условие `is_new = 1 OR is_paying = 1 AND has_coupon = 1`, если `AND` выполняется раньше `OR`?
- В фильтре написали `country = 'RU' AND device = 'ios' OR device = 'android'`. Какой набор строк реально пройдёт фильтр при стандартном приоритете, где `AND` сильнее `OR`?
- Какое условие эквивалентно `NOT (is_paying = 1 AND has_subscription = 1)` по правилу де Моргана? Выберите запись через `OR`.
- Вы хотите выбрать строки, которые не относятся к `country = 'RU' OR country = 'KZ'`. Какое выражение соответствует `NOT (country = 'RU' OR country = 'KZ')` по правилу де Моргана?
- В таблице пользователей есть флаги `has_email_optin` и `has_push_optin` (0 или 1). Нужно выбрать пользователей, у которых включён ровно один канал (email или push, но не оба). Какое условие корректно?
- Все вопросы по «Булева логика и фильтры» →