Avatar billede kasperbn Nybegynder
05. april 2005 - 14:14 Der er 6 kommentarer og
1 løsning

Query sorterer evt. samme id'er fra.

Hej exps

Jeg har en query der søger i en database efter data der ligner søgeorderet.

Outputtet skal bestå af id'er, men da søgeordet kan matche flere kollonner, spytter mysql det samme id ud det antal gange det bliver fundet.

Kan mysql sortere i det så den kun spytter ét id ud?

Det skal faktisk svare til php's array_unique() fnuktion, der fjerner samme forekomster af noget.
Avatar billede bromer Nybegynder
05. april 2005 - 14:15 #1
smid en GROUP BY id på din query
Avatar billede busschou Praktikant
05. april 2005 - 14:18 #2
Avatar billede dsj Nybegynder
05. april 2005 - 14:19 #3
Du kan også bare bruge DISTINCT:

SELECT DISTINCT id FROM ...
Avatar billede bromer Nybegynder
05. april 2005 - 14:20 #4
Du skal huske at du altid skal vælge det du laver en GROUP BY af, så hvis din kolonne hedder id skal din query ligne dette

select id,otherkol1,otherkol2,count(1) as hits  FROM <tabel> WHERE <din search> GROUP BY id ORDER by hits DESC

så sorterer du efter hvor mange gange dit søgekriterie er blevet ramt.
Avatar billede bromer Nybegynder
05. april 2005 - 14:22 #5
og generelt står syntax'en for GROUP By på MySQL manualsiden: http://dev.mysql.com/doc/mysql/en/select.html
Avatar billede imago-dei Nybegynder
05. april 2005 - 14:27 #6
Det er helt klart DISTINCT keywordet du skal bruge, som dsj skriver. Den giver dig kun en instans af hver tuple.
Avatar billede kasperbn Nybegynder
05. april 2005 - 14:37 #7
Jeps... tak for hjælpen!
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