buongiorno, avendo una tabella di questo tipo

===================
id nome colore sport |
===================
1| ange| giallo | nuoto |
1| ange| rosso | nuoto |
2| paol | verde | calcio|
3| marc| giallo | nuoto |
3| marc| verde | calcio|
--------------------------

vorrei ricavarne una tabella in questo modo
1 ange giallo nuoto
rosso
2 paol verde calcio
3 marc giallo
verde calcio

ho buttato giù un pò di codice ma non ne vengo a capo..

Codice PHP:
$sql"SELECT count(id) as quanti, nome FROM TABELLA";
$sql1="SELECT * FROM TABELLA";
//tralascio il passaggio delle query al mysql
if($quanti=1)
{ while (
$rs mysql_fetch_array($result))
       
stampo tutto il record normalmente
}
else if (
$quanti >1)
{
   echo 
"<tr><td>";
  
   while (
$rs mysql_fetch_array($result))
        { 

qui mi sono bloccato. Pensavo di usare un ciclo for( i =1 i<=quanti; i++) ma non so anzitutto se metterlo fuori o dentro il while. In secondo luogo come confrontare se l'id della prima riga è uguale all'id della seconda? Spero solo di esser stato abbastanza chiaro. Grazie anticipate