Avatar billede esbenp Nybegynder
09. februar 2007 - 00:33 Der er 1 kommentar og
1 løsning

Group by og MAX()

Hej

Jeg her an tabel, answers

|answerID|gameID|points|

Der vil jeg gerne have vinderen af et game, som er det answer med flest point så jeg har en query:

SELECT    gameID, MAX(points) AS MaxPoints
FROM        answers
GROUP BY gameID

Problemet er at jeg ikke kan få mit answerID ud fra den query. Hvis jeg tilføjer den får jeg alt data i answers og ikke kun dem med flest point
Avatar billede esbenp Nybegynder
09. februar 2007 - 01:45 #1
Jeg kom lige i tanke om det ville være en dum ide at bruge answerID, da der kan være flere med samme antal points og så ville det være udefineret hvem der vandt det pågældende game, så jeg slår bare på på points
Avatar billede kjulius Novice
11. februar 2007 - 04:49 #2
Du kunne finde vinderen/vinderne af hvert spil med en subselect:

SELECT *
FROM answers a
WHERE point = (SELECT MAX(points) FROM answers WHERE gameID = a.gameID)
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