MySQL, где 2 из x

Как я могу получить только строки, где 2 (или более) пункта «Где из многих» верны?

Например:

SELECT * 
FROM A 
WHERE CONVERT(AES_DECRYPT(name,'".$this->key."'),CHAR) LIKE '%".$this->escape($name)."%'" 
  OR CONVERT(AES_DECRYPT(name2,'".$this->key."'),CHAR) = '".$this->escape($name2)."'" 
  OR CONVERT(AES_DECRYPT(name3,'".$this->key."'),CHAR) = '".$this->escape($name3)."'" 
  OR CONVERT(AES_DECRYPT(name4,'".$this->key."'),CHAR) = '".$this->escape($name4)."'" 
.....

есть ли простой способ получить только результаты, где 2 (или более) совпадают, без создания огромного оператора SQL (каждый столбец с каждым другим столбцом - (имя И имя2) ИЛИ (имя И имя3) ИЛИ (имя И имя4) ИЛИ ... )

Будет ли это ровно 4 условия LIKE или больше?

Salman A 02.05.2019 13:37

отличается, я генерирую SQL во время выполнения (LIKE и " = "), но Ник отлично решил проблему.

user3600403 02.05.2019 14:05
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
2
39
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В MySQL вы можете использовать тот факт, что он обрабатывает логические выражения как 1 или 0 в числовом контексте. Таким образом, чтобы проверить выполнение двух или более условий, вы можете написать

WHERE (condition 1) + (condition 2) + ... + (condition n) >= 2

Обратите внимание, что круглые скобки вокруг каждого условия необходимы для предотвращения проблем с приоритетом операторов.

Другие вопросы по теме