24. oktober 2013 - 23:22Der er
4 kommentarer og 1 løsning
SELECT MATCH Søgninger
Jeg har en tabel der hedder 'Tekster' med kolonnerne: tekstid | forfatterid | title | tekst |
Jeg har lavet søgninger i teksterne således: SELECT MATCH (title,tekst) AGAINST ('søgeord') AS Score,tekstid,forfatterid,title,tekst WHERE MATCH (title,tekst) AGAINST ('søgeord' IN BOOLEAN MODE) ORDER BY SCORE DESC LIMIT 50
Søgningen virker fint, men jeg vil gerne have det så en forfatter/forfatterid kun kommer frem én gang. Som det er nu kan jeg få 50 tekster fra samme forfatterid, og det vil jeg ikke
Jeg forstår problemstillingen således, at tabellen kan indeholde mange tekster fra den samme forfatter. Således, at det for så vidt er korrekt, at du får flere resultater, op til 50, fra den samme forfatter. Er det korrekt forstået? Men at du for hver forfatter kun ønsker en tekst? Min erfaring med MATCH er begrænset; dette er derfor et gæt (som du måske allerede har forsøgt) men hvad sker der, hvis du modificerer queryen til SELECT MATCH .......... GROUP BY forfatterid ORDER BY Score DESC ....
Christian_Belgien -> Du har forstået det helt rigtigt. Og det ser ud til at virke. Tusind tak for hjælpen. Nu tester jeg det lige lidt, så håber jeg at den holder hele vejen.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.