sql >> Database teknologi >  >> RDS >> Mysql

Hvordan matcher og sorterer man efter lighed i MySQL?

Jeg er ikke sikker på, om LIKE er den rigtige måde at gøre dette på. Hvis du har brug for at søge i din tekst efter søgeord og sortere resultater efter relevansscore, skal du bruge MySQL Full-Text indeks og MySQL fuldtekstsøgefunktioner . Beklager, hvis dette fører dig væk fra det, du rent faktisk forsøger at gøre, men jeg anbefaler, at du tager et kig på det. Nogle citater fra MySQL referencemanual:

1) Sådan opretter du fuldtekstindeks på flere kolonner i en tabel

mysql> CREATE TABLE articles (
    ->   id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
    ->   title VARCHAR(200),
    ->   body TEXT,
    ->   FULLTEXT (title,body)
    -> );

2) Eksempeldata

3) Eksempelforespørgsel, der søger i flere kolonner efter søgeord og viser resultatet + scoren:




  1. MySQL Conditional Insert on Duplicate

  2. PSQLEundtagelse bliver ikke fanget

  3. Viser dato fra databasen PHP

  4. Oracle til Derby - ConnectBy og start med ækvivalent i Derby