Avatar billede stephanryer Nybegynder
21. januar 2006 - 14:09 Der er 2 kommentarer og
1 løsning

problem angående MAX, subquery og GROUP BY

Min mysql database er version 4.x

Jeg har en tabel kaldet highscore som ser sådan ud:

highscoreid  navn    score    ip

Jeg vil hente den største score der er lavet med en bestemt ip men derudover vil jeg også have det navn der står i det specifikke record hvor den største score er.

Til at finde ip og største score benytter jeg:

SELECT ip, MAX(score) as best FROM highscore GROUP BY ip ORDER BY best

Dette virker optimalt. Men jeg kan ikke bare tilføje navn således:

SELECT ip, MAX(score) as best, navn FROM highscore GROUP BY ip ORDER BY best

...for så får jeg et tilsyneladende tilfældigt navn der blot er i en tilfældig record med den specifikke ip og ikke det navn der vare ud for den højeste score.

Hvordan får jeg navnet med for den højeste score med et bestemt ip i én sql sætning? Der må gerne benyttes subqueries.

På forhånd tak.
Avatar billede Syska Mester
21. januar 2006 - 14:16 #1
SELECT navn, ip, MAX(score) as best FROM highscore GROUP BY ip, navn ORDER BY best
Avatar billede Syska Mester
21. januar 2006 - 14:17 #2
svar
Avatar billede stephanryer Nybegynder
21. januar 2006 - 14:18 #3
TAKKER
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