Crei una tabella "giocatori":
id, nome, cognome, numero ... e tutto quello che vuoi ma NON il voto.
L'id è semplicemente un numero intero che identifica univocamente ogni giocatore, la chiave primaria insomma. Dovresti dichiarare questo campo "auto_increment" in modo che, ad ogni inserimento, tale numero si incrementi da solo, senza bisogno di essere definito nella INSERT.
create table giocatori(
id int unsigned auto_increment primary key,
cognome varchar(30) not null,
nome varchar(30) not null,
numero tinyInt
);
Separatamente devi creare una tabella "voti". Perchè? Prova a ragionare sull'associazione che lega l'entità "voto" a quella "giocatore". A un singolo giocatore corrispondono più voti, un singolo voto corrisponde a un solo giocatore. Ciò significa che esiste un'associazione 1 a N rispettivamente tra giocatore e voto. Potresti anche memorizzare l'id del votante, in quel caso il modello E/R sarebbe questo:
La tabella voti:|giocatore| 1 ----- N |voto| N ------ 1 |votante|
create table voti(
id int unsigned auto_increment primary key,
idgiocatore int unsigned not null,
voto tinyint not null
);
//a cui dovresti aggiungere idvotante se volessi rispettare il modello sopra... Potresti inoltre pensare di memorizzare altre informazioni, tipo la data e l'ora in cui è stato dato il voto, aggiungendo un campo datetime, o meglio ancora un intero per il timestamp (magari non sai manco cos'è, ma almeno ti dò lo spunto, in rete trovi tutto).
Si dice che idgiocatore è una chiave esterna (foreign key). Non mi và di spiegare, vatti a studiare tutto!
Per avere la media di tutti i voti riferiti a un giocatore:
SELECT AVG(voto)
FROM giocatori, voti
WHERE giocatori.id = voti.idgiocatore // quì operi un innerjoin, una congiunzione fra le tabelle
AND giocatori.id = <idgiocatore>
dove <idgiocatore> è l'id del giocatore di cui ti interessa la media dei voti.