MySQL - Sacar promedio de 3 calificaciones, con 2 decimales.

   
Vista:

Sacar promedio de 3 calificaciones, con 2 decimales.

Publicado por Armando (7 intervenciones) el 06/05/2017 02:36:47
capturada.jpgBuenas noches amigos, en días anteriores había realizado un post en esta pagina, donde estaba empezando a realizar una base de datos para el aula de mi escuela, ya la realice usando wamp en conjunto con phpMyAdmin , ya subi los id, nombres y apellidos de mis compañeros, en total son 34, y como se ven 10 materias necesito sacar las calificaciones materia por materia, ya por ejemplo subi la de matemática, de todos los alumnos, pero necesito sacar el promedio definitivo tengo entendido que se divide en entre 3 pero cuando hago la sentencia se ejecuta pero no sale reflejado en la tabla y me sale de promedio 29,99 cuando debería ser que si 15-65 o asi ya que la escala de evaluación es del 1 al 20 siendo 10 el mínimo aprobado. Gracias de antemano por su ayuda, saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Sacar promedio de 3 calificaciones, con 2 decimales.

Publicado por xve (1061 intervenciones) el 07/05/2017 08:36:40
Hola Armando, mysql ya tiene una función para sacar la media de un campo numerico... http://www.tutorialspoint.com/mysql/mysql-avg-function.htm

Podria ser algo así:

1
SELECT avg(nota) as promedio from Tabla WHERE Materia="Matematicas"

Coméntanos ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sacar promedio de 3 calificaciones, con 2 decimales.

Publicado por Armando (7 intervenciones) el 07/05/2017 17:01:18
Necesito que la sentencia indique el id del estudiante y las 3 notas del alumno. Adjunto las columnas que tengo.
capturada.jpg
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Sacar promedio de 3 calificaciones, con 2 decimales.

Publicado por xve (1061 intervenciones) el 07/05/2017 18:44:02
Indica los campos que quieras...

1
SELECT avg(nota) as promedio,estudiante,nota,nota2,nota3 FROM Tabla WHERE Materia="Matematicas"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sacar promedio de 3 calificaciones, con 2 decimales.

Publicado por Armando (7 intervenciones) el 08/05/2017 01:08:06
capturada Me sale eso cuando escribo la sentencia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sacar promedio de 3 calificaciones, con 2 decimales.

Publicado por leonardo_josue (301 intervenciones) el 08/05/2017 23:08:19
Hola Armando:

El error que te está marcando es porque sólo copiaste y pegaste la consulta que te puso xve, pero creo que no te tomaste la molestia de revisar siquiera qué es lo que hace... el mensaje que aparece es claro y dice que la tabla TABLA (que es lo que pone en el FROM) no existe, por lo tanto quiere decir que tu tabla tiene otro nombre, pero no lo cambiaste O_o...

Ojo con eso, no esperes una respuesta sólo para copiar y pegar en este foro ni en ningún otro foro de consulta... lo que se pone serán ejemplos y ayudas, pero deberás hacer los ajustes necesarios para aplicarlos a tu modelo.

Ahora bien, podrías poner algunos datos de ejemplo para poder darte una mejor respuesta, pero veamos si esto te sirve.

Voy a suponer que tu tabla se llama TABLA y que tienes más o menos la siguiente información;

1
2
3
4
5
6
7
8
9
mysql> SELECT * FROM tabla;
+------------+--------------+------+-------+-------+
| estudiante | materia      | nota | nota2 | nota3 |
+------------+--------------+------+-------+-------+
| HUGO       | MATEMATICAS  |    6 |     9 |    10 |
| PACO       | MATEMÁTICAS  |   10 |    10 |    10 |
| LUIS       | MATEMATICAS  |    2 |     4 |     5 |
+------------+--------------+------+-------+-------+
3 rows in set (0.08 sec)

En este caso sólo estoy colocando una materia, por lo tanto es lo mismo poner la sección WHERE o dejarla así,

Ahora, para calcular el promedio de cada ALUMNO lo que debes hacer es SUMAR LAS TRES CALIFICACIONES Y
DIVIDIR ENTRE 3, esto sería así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> SELECT
    ->   estudiante,
    ->   materia,
    ->   (nota + nota2 + nota3) / 3 promedio_alumno
    -> FROM
    ->   tabla;
+------------+--------------+-----------------+
| estudiante | materia      | promedio_alumno |
+------------+--------------+-----------------+
| HUGO       | MATEMATICAS  |          8.3333 |
| PACO       | MATEMÁTICAS  |         10.0000 |
| LUIS       | MATEMATICAS  |          3.6667 |
+------------+--------------+-----------------+
3 rows in set (0.09 sec)

Esto te da el Promedio "final" para cada alumno.

Checa si esto es lo que necesitas, si continuas con problemas postea tus datos y lo que intentaste hacer y con gusto trataremos de ayudarte.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sacar promedio de 3 calificaciones, con 2 decimales.

Publicado por Armando (7 intervenciones) el 09/05/2017 13:13:21
Disculpa he estado un poco enfermo y mi ingles es nivel bajo, ya leere al respecto gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sacar promedio de 3 calificaciones, con 2 decimales.

Publicado por Armando (7 intervenciones) el 09/05/2017 14:05:39
capturada Ahora tengo ese inconveniente, me salio hoy apenas inicie el php my admin.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar