2017-09-10 5 views
-2

Je vais avoir du mal à comprendre comment résoudre ce problème:SQL Besoin d'avg de lignes diférents avec un filtre

« En anglais: calculer la moyenne des notes de chaque élève en année 2003. » "Déterminer le promedio de notas finales de todos les anciens de l'escuela del año 2003."

Le résultat devrait être quelque chose comme ceci: Peter Moy = 7, Johng Moy = 3, etc.

C'est aussi loin je me suis:

SELECT AVG("NOT_NOT") FROM "NOTAS" WHERE "FECH_NOT" = '2003-02-03'

Voici le tableau:

SCORES Table Students Table

Merci à l'avance

Répondre

1

Vous souhaitez utiliser GROUP BY:

SELECT "COD_ALU", AVG("NOT_NOT") 
FROM "NOTAS" WHERE "FECH_NOT" = '2003-02-03' GROUP BY "COD_ALU"; 
+0

Le code calcule la moyenne par élève mais en nombre entier, mais je crois que c'est le chemin à parcourir. Tout ce dont j'ai besoin maintenant est de comprendre comment mettre les noms des élèves au lieu de leur identifiant. – Computer

+0

Merci d'avoir trouvé la réponse: SELECT "ALUMNO", "NOM_ALU", "ALUMNO", "APE_ALU", AVG ("NOTAS". "NOT_NOT") DE "ALUMNO", "NOTAS" O WH "ALUMNO" "COD_ALU" = "NOTAS". "COD_ALU" GROUPE PAR "ALUMNO". "NOM_ALU", "ALUMNO". "APE_ALU" ORDRE PAR AVG ("NOTAS". "NOT_NOT") DESC – Computer

0

On peut supposer que c'est quelque chose comme ceci:..

SELECT STUDENT, AVG(NOT_NOT*1.0) 
FROM NOTAS 
WHERE FECH_NOT >= '2003-01-01' AND FECH_NOT < '2004-01-01' 
GROUP BY STUDENT; 
+0

Le code calcule la moyenne par élève mais comme un nombre entier, mais je crois que c'est le chemin à parcourir. Tout ce dont j'ai besoin maintenant est de comprendre comment mettre les noms des élèves au lieu de leur identifiant. – Computer

+0

@Ordinateur. . . Vous devez vous joindre à une autre table pour obtenir cette information. –

+0

Oh, et comment je pourrais faire ça? – Computer

0

SELECT "ALUMNO" "de NOM_ALU", "ALUMNO" "APE_ALU", AVG ("NOTAS". "NOT_NOT") DE "ALUMNO", "NOTAS" O WH "ALUMNO". "COD_ALU" = "NOTAS". "COD_ALU" GROUPE PAR "ALUMNO". "NOM_ALU", "ALUMNO". " APE_ALU "ORDER BY AVG (" NOTAS "." NOT_NOT ") DESC

SOLUTION