sql >> Databasteknik >  >> RDS >> Mysql

Hur matchar och sorterar man efter likhet i MySQL?

Jag är inte säker på om LIKE är rätt sätt att göra detta. Om du behöver söka i din text efter nyckelord och sortera resultat efter relevanspoäng bör du använda MySQL Full-Text index och MySQL Full-text Search-funktioner . Ledsen om detta leder dig bort från det du faktiskt försöker göra men jag rekommenderar att du tittar på det en gång. Några citat från MySQL referensmanual:

1) Hur man skapar fulltextindex på flera kolumner i en tabell

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

2) Exempeldata

3) Exempelfråga som söker i flera kolumner efter nyckelord och visar resultat + poängen:




  1. WIDTH_BUCKET() Funktion i Oracle

  2. Spara mysql-frågan till excel-fil från php-webbsidan

  3. SQL returnerar 100 slumpmässiga rader för varje ålder

  4. Oracle - Hur man tvingar användaren att INFOGA flera rader