problem angående MAX, subquery og GROUP BY igen. stadig problem.
X Min mysql database er version 4.xJeg 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.
buzzzz skrev i min anden thread løsningen:
SELECT navn, ip, MAX(score) as best FROM highscore GROUP BY ip, navn ORDER BY best
men hvis der fx er følgende record i tabellen:
id navn score ip
1 n1 44 1
2 n2 32 1
3 n2 11 2
4 n3 34 3
Vil man stadig både kunne se record 1 og 2 selvom de har samme ip fordi de har forskellige navne. Jeg vil KUN have den record der har den største score og så vil jeg have tilhørende navn.
På forhånd tak.
