Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL:szukaj tego samego ciągu w wielu kolumnach

Proste obejście:

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

W razie potrzeby możesz dodać separatory między kolumnami:

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

Możesz także użyć wyszukiwania pełnotekstowego (musisz utworzyć indeks pełnotekstowy, jak opisano tutaj:Jak działają indeksy PEŁNOTEKSTOWE w wielu kolumnach? )

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. Jak zapełnić bazę danych tylko raz przed metodami @Test w teście wiosennym?

  2. MySQL przy aktualizacji zduplikowanych kluczy

  3. Tworzenie aplikacji na Androida do uruchamiania PHP i MySQL na tablecie z Androidem

  4. Przejdź z tradycyjnej replikacji do GTID

  5. Otrzymuję podwójne wyniki z zapytania mysql, gdy używam znaków międzynarodowych, tj. Å/Ę=A i Ö=O,