Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL:Cari string yang sama di beberapa kolom

Solusi sederhana:

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

Anda dapat menambahkan pemisah antar kolom jika diperlukan:

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

Anda juga dapat menggunakan pencarian teks lengkap (Anda perlu membuat indeks teks lengkap seperti yang dijelaskan di sini:Bagaimana cara kerja INDEKS FULLTEXT pada beberapa kolom? )

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. mysqldump:Mendapat errno 32 saat menulis

  2. Injeksi MySQL - Gunakan kueri SELECT untuk MEMPERBARUI/HAPUS

  3. Bagaimana cara kerja INDEKS TEKS LENGKAP pada banyak kolom?

  4. Panggil ke fungsi yang tidak ditentukan mysql_query()

  5. Mengurangi satu baris data dari yang lain di SQL