Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Promediar con MySQL

Estas en el tema de Promediar con MySQL en el foro de Mysql en Foros del Web. Buen día a todos Tengo esta tabla @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original '116012' , '101' , '8' , '8' , '0' , 'A' '116012' ...
  #1 (permalink)  
Antiguo 21/06/2016, 18:25
 
Fecha de Ingreso: octubre-2015
Ubicación: Salamanca
Mensajes: 4
Antigüedad: 8 años, 6 meses
Puntos: 0
Promediar con MySQL

Buen día a todos

Tengo esta tabla
Código MySQL:
Ver original
  1. '116012', '101', '8', '8', '0', 'A'
  2. '116012', '102', '7', '6', '0', 'A'
  3. '116012', '103', '9', '5', '0', 'A'
  4. '116012', '104', '6', '9', '0', 'A'
  5. '116012', '105', '5', '5', '0', 'A'
  6. '116012', '106', '5', '7', '0', 'A'
  7. '116013', '101', '8', '8', '0', 'A'
  8. '116013', '102', '7', '6', '0', 'A'
  9. '116013', '103', '9', '5', '0', 'A'
  10. '116013', '104', '6', '9', '0', 'A'
  11. '116013', '105', '5', '5', '0', 'A'
  12. '116013', '106', '5', '7', '0', 'A'
  13. '116014', '101', '8', '8', '0', 'A'
  14. '116014', '102', '7', '6', '0', 'A'
  15. '116014', '103', '9', '5', '0', 'A'
  16. '116014', '104', '6', '9', '0', 'A'
  17. '116014', '105', '5', '5', '0', 'A'
  18. '116014', '106', '5', '7', '0', 'A'
  19. '116015', '101', '8', '8', '0', 'A'
  20. '116015', '102', '7', '6', '0', 'A'
  21. '116015', '103', '9', '5', '0', 'A'
  22. '116015', '104', '6', '9', '0', 'A'
  23. '116015', '105', '5', '5', '0', 'A'
  24. '116015', '106', '5', '7', '0', 'A'
  25. '216011', '101', '8', '8', '0', 'A'
  26. '216011', '102', '7', '6', '0', 'A'
  27. '216011', '103', '9', '5', '0', 'A'
  28. '216011', '104', '6', '9', '0', 'A'
  29. '216011', '105', '5', '5', '0', 'A'
  30. '216011', '106', '5', '7', '0', 'A'
  31. '216012', '101', '8', '8', '0', 'A'
  32. '216012', '102', '7', '6', '0', 'A'
  33. '216012', '103', '9', '5', '0', 'A'
  34. '216012', '104', '6', '9', '0', 'A'
  35. '216012', '105', '5', '5', '0', 'A'
  36. '216012', '106', '5', '7', '0', 'A'
  37. '216013', '101', '8', '8', '0', 'A'
  38. '216013', '102', '7', '6', '0', 'A'
  39. '216013', '103', '9', '5', '0', 'A'
  40. '216013', '104', '6', '9', '0', 'A'
  41. '216013', '105', '5', '5', '0', 'A'
  42. '216013', '106', '5', '7', '0', 'A'
  43. '216014', '101', '8', '8', '0', 'A'
  44. '216014', '102', '7', '6', '0', 'A'
  45. '216014', '103', '9', '5', '0', 'A'
  46. '216014', '104', '6', '9', '0', 'A'
  47. '216014', '105', '5', '5', '0', 'A'
  48. '216014', '106', '0', '7', '0', 'A'
  49. '216015', '101', '8', '8', '0', 'A'
  50. '216015', '102', '7', '6', '0', 'A'
  51. '216015', '103', '9', '5', '0', 'A'
  52. '216015', '104', '6', '9', '0', 'A'
  53. '216015', '105', '5', '5', '0', 'A'
  54. '216015', '106', '5', '7', '0', 'A'
  55. '216015', '101', '0', '0', '0', 'A'
  56. '216015', '102', '7', '6', '0', 'A'
  57. '216015', '103', '9', '5', '0', 'A'
  58. '216015', '104', '6', '9', '0', 'A'
  59. '216015', '105', '5', '5', '0', 'A'
  60. '216015', '106', '5', '7', '0', 'A'
  61. '116011', '101', '8', '8', '0', 'A'
  62. '116011', '102', '7', '6', '0', 'A'
  63. '116011', '103', '9', '5', '0', 'A'
  64. '116011', '104', '6', '9', '0', 'A'
  65. '116011', '105', '5', '5', '0', 'A'
  66. '116011', '106', '5', '7', '0', 'A'
Me piden lo siguiente: Mostrar promedio de las calificaciones de alumnos, con matricula 116011,116014,116016, 216012,216013,216015.

Como lo hago:

Llevo esto....

Código SQL:
Ver original
  1. SELECT avg(cal1b)
  2. FROM calificaciones
  3. WHERE matricula IN(116011,116014,116016, 216012,216013,216015)
  4. ORDER BY  matricula;

Última edición por gnzsoloyo; 22/06/2016 a las 05:12 Razón: LEGIBILIDAD DE CODIGOS.
  #2 (permalink)  
Antiguo 22/06/2016, 05:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Promediar con MySQL

Con eso, estimad@, estás generando el promedio de todos sin discriminaciones. Es decir, no estás determinando cual es el promedio de cada uno de ellos, sino uno global.
Tu problema es de manual básico: Tienes que agrupar por matricula, o no sabrás cual es el promedio de cada alumno. Ordenar no aporta nada.
Código SQL:
Ver original
  1. SELECT matricula, avg(cal1b) promedio
  2. FROM calificaciones
  3. WHERE matricula IN(116011,116014,116016, 216012,216013,216015)
  4. GROUP BY  matricula;


TE recomiendo leer con atención cualquier manual básico de SQL, haciendo hincapié en el uso de funciones agrupadas, sin pretender ofender o ser peyorativo. Ten en cuenta que por ALGO se las denomina "agrupadas" o "de agrupación".
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:56.