Avatar billede stieper Nybegynder
31. marts 2006 - 18:02 Der er 4 kommentarer og
1 løsning

Mysql SUM med group by og order by problemer

Hejsa.

Jeg har en tabel i en database med mål som er scoret af forskellige spillere.
struktur:

--goals--
id(primær nøgle)
player_id(int 10)
player_name(varchar 100)
team_id(mediumint 8)
match_id (int 10)
goal(altid 1)


Jeg vil gerne ha lavet en top 3 over spillere med flest scorede mål.
Men følgende giver "invalid use of group function":

$sql_maal = "SELECT `id`, `player_id`, `player_name`, `team_id`, `match_id`, SUM(goal) as totalgoals FROM `goals` GROUP BY `player_id` ORDER BY SUM(goal) LIMIT 3";

Gør jo noget forkert - men har i en løsning??


På forhånd tak for hjælpen.


Med venlig hilsen

Simon Stieper
Avatar billede nielle Nybegynder
31. marts 2006 - 18:15 #1
Måske sådan?

SELECT *, Sum(goal) AS totalgoals FROM goals GROUP BY player_id ORDER BY totalgoals DESC LIMIT 3
Avatar billede nielle Nybegynder
31. marts 2006 - 18:17 #2
Rettere sådan:

SELECT player_id, Sum(goal) AS totalgoals FROM goals GROUP BY player_id ORDER BY totalgoals DESC LIMIT 3
Avatar billede stieper Nybegynder
31. marts 2006 - 19:21 #3
Nice... takker! smid svar :D

Hvad gjorde jeg galt??
Avatar billede nielle Nybegynder
31. marts 2006 - 20:22 #4
Med GROUP BY kan du ikke samtidigt SELECTe på `player_name`, `team_id`, og `match_id` for de er jo ikke nødvendigvis de samme for et givet player_id.
Avatar billede stieper Nybegynder
04. april 2006 - 22:58 #5
super, 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
Vi tilbyder markedets bedste kurser inden for webudvikling

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