Оставить строки в SQL по условию
Есть несколько условий where (допустим 10), и нужно оставить только те записи которые соответствуют по 5 и более параметрам. Кроме как перебора, никаких мыслей нет, можно ли как то решить этот вопрос?
Ответы (1 шт):
Автор решения: Mike
→ Ссылка
Любое условие (оператор =, например) в mysql возвращает 0 (если условие не сработало) или 1. Поэтому можно написать
... where ((a=1) + (b=2) + ... + (field10=X)) >= 5
В случае если в поле может быть NULL условия стоит писать в виде coalesce(a=1, 0)