Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/09/2009, 11:11
pepeglobez
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 8 meses
Puntos: 0
consulta compleja

Hola a todos;
Llevo tiempo intentando solucionar una consulta que me trae de cabeza, no he visto nada en los foros ni en los tutoriales de mysql ni php. El problema es el siguiente:

Tengo una tabla en la que guardo los registros de unas puntuaciones que consiguen deportistas en diversas pruebas durante el año, el total de pruebas que se pueden disputar son 32 pero solo se contabilizan las 25 mejores puntuaciones conseguidas.
He conseguido sacar por pantalla una tabla con las puntuaciones y los deportistas, y sumar las 32, pero no se como hacer para sumar solo las 25 mejores de cada uno.
Mi idea era crear unas tablas temporales con los nombres de los deportistas (sacandolos de un consulta) y en ellas meter los 25 primeros registros ordenados de mallor a menor, luego hacer una suma de los registros y mostrarlos, pero no lo he conseguido.
Código PHP:
$nobresciclistas=mysql_query("select ciclista  from $tabla where ano = 2009 group by ciclista"$conexion);
while (
$row1=mysql_fetch_array($nobresciclistas))
{
mysql_query("CREATE TEMPORARY TABLE $row1[0] AS (SELECT $clas3 AS total FROM $tabla WHERE ciclista=$row1[0] GROUP BY ruta ORDER BY total DESC LIMIT 25)"$conexion);
      
$suma=mysql_query("SELECT SUM(total) FROM $row1[0]"$conexion);
         while (
$row2=mysql_fetch_array($suma))
            {
            echo 
'$row1[0],  $row2[0]';
              }

No se si esto es muy acertado, el caso es que no funciona, supongo que esto tendra alguna solucion. Os agradezco la atencion y espero vuestras propuestas. Salu2