Técnicamente, no hay errrores, salvo que estás poniendo dos sentencias y no una. Eso, sin contar con que no parece un script correctamente escrito en PHP... La parte de SQL no sé si fujcionará de esa forma.
Código MySQL:
Ver original @numero
:=@numero
+ 1 AS `posicion`, tot.idpiloto,
tot.nombre_piloto,
tot.temporadas,
tot.puntos puntos,
tot.coi,
tot.moe,
tot.mt mt,
ROUND((puntos
/ mt
), 2) media_puntos
, tot.victorias,
tot.podiums,
tot.vr,
tot.pm,
tot.mp,
tot.pp,
tot.primero,
tot.segundo,
tot.tercero
idpiloto,
nombre_piloto,
COUNT(idtemporada
) temporadas
, SUM(victorias
) victorias
, resultados
JOIN (SELECT @numero
:=0) T1
-- Pongamoslo aca, y evitamos el SET