Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/07/2017, 12:55
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: subconsulta con max y avg

Hola flashmax:

Cuando pongas alguna consulta de ejemplo, debes postear también la estructura de todas las tablas que intervengan, de lo contrario es complicado tratar de entender de donde diablos salen los resultados que pones... En tu caso, no nos dices cómo es la estructura de tus tablas PARTICIPANTES y JURADOS, ni pones datos de ejemplo, por lo tanto no podemos reproducir fielmente la consulta. Ojo con eso.

ahora, en tu consulta estás utilizando la función de agrupación AVG, pero no estás AGRUPANDO, por lo tanto, el promedio se hará sobre todos los registros existentes en la tabla... si entendí bien lo que quieres y usando sólo los datos de la tabla que pones, sería algo así:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM votos;
  2. +---------+-----------+-----------------+-----------+---------+
  3. | id_voto | id_jurado | id_participante | id_prueba | puntaje |
  4. +---------+-----------+-----------------+-----------+---------+
  5. |       1 |         1 |               3 |         1 |      30 |
  6. |       2 |         4 |               3 |         1 |      23 |
  7. |       3 |         8 |               3 |         1 |      20 |
  8. |       4 |        12 |               3 |         1 |      22 |
  9. |       5 |         9 |               3 |         1 |      24 |
  10. |       6 |         1 |              40 |         1 |      21 |
  11. |       7 |         4 |              40 |         1 |      20 |
  12. |       9 |         8 |              40 |         1 |      23 |
  13. |      10 |        12 |              40 |         1 |      20 |
  14. |      11 |         9 |              40 |         1 |      30 |
  15. +---------+-----------+-----------------+-----------+---------+
  16. 10 rows in set (0.03 sec)
  17.  
  18. mysql> SELECT
  19.     ->   id_participante,
  20.     ->   id_prueba,
  21.     ->   AVG(puntaje) AS MEDIA
  22.     -> FROM
  23.     ->   votos
  24.     -> GROUP BY
  25.     ->   id_participante,
  26.     ->   id_prueba;
  27. +-----------------+-----------+---------+
  28. | id_participante | id_prueba | MEDIA   |
  29. +-----------------+-----------+---------+
  30. |               3 |         1 | 23.8000 |
  31. |              40 |         1 | 22.8000 |
  32. +-----------------+-----------+---------+
  33. 2 rows in set (0.00 sec)

Si esto no te sirva, postea los datos que faltan y con gusto te tratamos de ayudar.

Saludos
Leo.