Utmaning för Genomsnittlig Elevbetyg
Du har gjort ett utmärkt jobb och hjälpt byggföretaget. De har börjat arbeta med att expandera Yellow tunnelbanelinjen.
De har rekommenderat dig, och skolan har visat intresse för dig eftersom de också har flera uppgifter åt dig. Men först, låt oss bekanta oss med student_grades
tabellen de tillhandahåller:
Tabellen innehåller betyg för prov i olika ämnen.
Skolan har totalt 100 elever, information om vilka finns i den givna tabellen. Det finns information i kolumnen class_letter
, som har 3 alternativ: A
, B
eller C
. Ämnesnamnet (subject_name
) samt elevens betyg (grade
) ingår.
Låt oss se hur många elever det finns i varje klass med följande fråga:
SELECT class_letter, COUNT(DISTINCT student_surname) AS anumber_of_students FROM student_grades GROUP BY class_letter
Swipe to start coding
Din uppgift nu är att beräkna medelbetyget för alla ämnen för varje elev. För lärarnas bekvämlighet behöver du också sortera elevernas efternamn i alfabetisk ordning. Använd aggregering med AVG()
-funktionen och ge ett alias average_grade
för att säkerställa framgångsrik testning.
Kortfattade instruktioner
- Hämta kolumnen
student_surname
och medelvärdet av kolumnengrade
med hjälp avAVG
-funktionen. - Lägg till aliaset
average_grade
till den andra kolumnen. - Gruppera data efter
student_surname
. - Sortera resultaten efter
student_surname
i stigande ordning.
Lösning
Tack för dina kommentarer!