Avatar billede loukas Mester
24. oktober 2013 - 23:22 Der 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
Avatar billede Hardball21 Nybegynder
25. oktober 2013 - 00:06 #1
Tilføj DISTINCT efter SELECT
Avatar billede loukas Mester
25. oktober 2013 - 00:35 #2
Det løste desværre ikke problemet.
25. oktober 2013 - 11:05 #3
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 ....
Avatar billede loukas Mester
25. oktober 2013 - 18:36 #4
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.

Hvis smider et svar godkender jeg det..
25. oktober 2013 - 18:37 #5
Svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester