Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL:Потърсете един и същ низ в множество колони

Лесно решение:

SELECT * 
FROM projects 
WHERE 
    CONCAT(category,name,description,keywords,type) LIKE '%query%' 
ORDER BY name ASC;

Можете да добавите разделители между колоните, ако е необходимо:

SELECT * 
FROM projects 
WHERE 
    CONCAT(category,"|",name,"|",description,"|",keywords,"|",type) LIKE '%query%' 
ORDER BY name ASC;

Можете също да използвате пълнотекстово търсене (трябва да създадете пълнотекстов индекс, както е описано тук:Как работят ПЪЛНИ ТЕКСТОВИ ИНДЕКСИ в множество колони? )

SELECT *, MATCH (category,name,description,keywords,type) AGAINST ('query') AS score FROM projects WHERE MATCH (category,name,description,keywords,type) AGAINST ('query');


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да конвертирате тип колона varchar в тип дата, без да губите датите

  2. Неправилен ключов файл с MySQL

  3. Не може да издаде изрази за манипулиране на данни с executeQuery()

  4. Добра идея ли е да индексирате поле за дата и час в mysql?

  5. java.sql.SQLException:След края на набора от резултати в mysql