consulta compleja

pepeglobez
13 de Enero del 2010
Hola a todos; llevo días intentando crear una consulta algo compeja y no doy con la solución. Se trata de una tabla con los campos: nombre, carrera, puntos, año. necesito extraer las 25 mejores puntuaciones de cada nombre en un año y sumarlas, de modo que me muestre un listado con la columna nombre y la columna suma (suma de los 25 mejores resultados en un año) La cuestión es que mysql no admite la cláusula "limit" en una subconsulta, sino será muy fácil. Salu2

espino316
13 de Enero del 2010
Tendrás que hechar mano de tablas temporales, haces una tabla temporal en donde metas los mejores 25 resultados, y luego con una consulta de agregado queda.

Carlos14401
13 de Enero del 2010
Como esta. Le doy una opción. la idea sería hacer un función que devuelva la suma de las n mejores puntuaciones de tal persona en tal año. En el siguiente link desarrole una función en mysql que podría ayudarle:
http://tunuevosistema.com/?q=es/node/10

Para optimizar la consulta quizá sería bueno que aplicara la función sobre una vista y no sobre una tabla ya que entiendo que para necesitará agrupar los registros por el nombre de la persona y si usa la función directo sobre la tabla se haran calculos para todos los registros aunque estos no se vean por el contrario sobre la vista no. Saludos