Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/01/2010, 22:21
Sebandrescc
 
Fecha de Ingreso: enero-2010
Mensajes: 2
Antigüedad: 14 años, 9 meses
Puntos: 0
Promedio de una query MYSQL

Estimados. Jamas pensé preguntar algo relacionado a php y mysql....pero bueno... ya me ven.

Hice una query bastante larga, inserta dentro de un bucle, que me devuelve 15 columnas, entre ellas una numerica, la cual necesito calcular el promedio.

Código PHP:
$queEmp.="SELECT CONCAT(apellido,' ',nombre) as nombre, ramos.asig_cor as ramo,nota1,nota2,nota3,nota4,nota5,nota6,nota7,nota8,nota9,nota10,nota11,nota12,nota13,nota14,nota15,round(coalesce(((COALESCE((nota1),0)+COALESCE((nota2),0)+COALESCE((nota3),0)+COALESCE((nota4),0)+COALESCE((nota5),0)+COALESCE((nota6),0)+COALESCE((nota7),0)+COALESCE((nota8),0)+COALESCE((nota9),0)+COALESCE((nota10),0)+COALESCE((nota11),0)+COALESCE((nota12),0)+COALESCE((nota13),0)+COALESCE((nota14),0)+COALESCE((nota15),0)))/(SELECT COUNT(nota1)+COUNT(nota2)+COUNT(nota3)+COUNT(nota4)+COUNT(nota5)+COUNT(nota6)+COUNT(nota7)+COUNT(nota8)+COUNT(nota9)+COUNT(nota10)+COUNT(nota11)+COUNT(nota12)+COUNT(nota13)+COUNT(nota14)+COUNT(nota15)),0),1) as final FROM alumnos,".$row_tablas['tabla'].",ramos WHERE alumnos.alumnoid=".$row_tablas['tabla'].".alumnoid and alumnos.alumnoid='1' and ramos.tabla='".$row_tablas['tabla']."' GROUP BY alumnos.alumnoid  "
devuelta me da 32 filas, de ellas, la columna final, que obviamente contendra 32 resultados, es la que necesito sacar la media. Me parece que es mas sencillo hacerlo desde php que en mysql.

Código PHP:
$resEmp mysql_query($queEmp$opr_docente) or die(mysql_error());
$row_resEmp mysql_fetch_assoc($resEmp);
$totEmp mysql_num_rows($resEmp);

do {
echo 
$row_resEmp['final']." - ";
}while (
$row_resEmp mysql_fetch_assoc($resEmp)); 
Con row_resEmp['final'] dentro de un do while, logro mostrar todas las filas, pero no obtener el promedio.

Espero haberme explicado, ya que a esta hora no me llega sangre a la cabeza .


Espero haberme explicado bien. Ya a esta hora no me llega sangre a la cabeza.