Originariamente inviato da piero.mac
avevo capito che volevi inserirlo nella tabella... come non detto.
ah ecco. per quello non capivo il discorso che mi facevi circa i campi calcolati. 
E' comunque semplice anche con la sola query.
codice:
set @sc = 1, @val = (select punteggio
from classifica
order by punteggio desc
limit 1);
select *,
if(@val = punteggio, @sc, @sc:=@sc+1) as posizione,
(@val:=`punteggio`)
from classifica
order by punteggio desc;
e' la stessa logica di prima con php.
Ti ringrazio molto per le query. Sfruttando i tuoi suggerimenti sono arrivato a questa soluzione
codice:
SET @riga = 0, @posizione = 0, @preced = 0;
SELECT @riga := @riga + 1 AS riga, squadra,
@posizione := IF(@preced<>punti,@riga,@posizione) AS posizione,
@preced := punti AS punti
FROM classifica ORDER BY punti DESC
perchè come nell'esempio, avendo tre squadre a pari punti al secondo posto, quindi con posizione 2, mi serviva che la squadra immediatamente sotto risultasse non terza ma quinta.
Grazie come sempre per la tua disponibilità.