consulta compleja
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
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.
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
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