sto realizzando un sito per un torneo di calcetto, il problema è questo: ho 2 tabelle, una con i giocatori e una che contiene i gol...

PLAYERS
---------------
ID_PLAYER
ID_TEAM
NOME....
...cognome (ecc)


GOALS
-----------------
ID_GOL
ID_MATCH
ID_PLAYER
MINUTO
(altre info non importanti)


Per visualizzare sempre i primi 5 della classifica marcatori in home ho fatto una query:

select top 5 P.ID_PLAYER, P.SURNAME, count(G.ID_PLAYER) as GOL
from GOALS G inner join PLAYERS P
on P.ID_PLAYER = G.ID_PLAYER
group by G.ID_PLAYER, P.ID_PLAYER, SURNAME
order by GOL

Praticamente ogni volta conto i gol di ciascun giocatore e poi li ordino. Se non li ordino e visualizzo l'intero recordset crea perfettamente la colonna gol che contiene la somma x ciascun giocatore, solo che se aggiungo "order By gol" mi da l'errore:

Nessun valore specificato per alcuni parametri necessari.

che di solito da quando si richiama una colonna che non esiste. Non so usare bene count/goup by ecc, danno qualche problema con order by? O c'è un modo particolare di usarli?