Udfordring: Søgning Efter De Bedste Matematikstuderende
Skolen er tilfreds med vores arbejde og har besluttet at fortsætte samarbejdet.
Nu har de en ny opgave til os. De top 10 elever med det højeste gennemsnit af karakterer vil blive tilbudt en tur til et videnskabeligt center som belønning. En obligatorisk betingelse er at opnå en karakter over 90 i matematikeksamen. For at finde sådanne elever har de henvendt sig til dig.
Lad os se, hvad vi skal gøre ved hjælp af vores employee
-tabel som eksempel.
Antag, at vi skal finde ud af, i hvilke afdelinger der er ansatte, som blev ansat før 2019, samt gennemsnitslønnen i disse afdelinger. For at løse en sådan opgave kan vi bruge følgende forespørgsel:
SELECT department, AVG(salary) AS average_salary FROM employees WHERE hire_date < '2019-01-01' GROUP BY department
Som du kan se, er der kun 3 sådanne ansatte, og vi brugte de nødvendige værktøjer for at opnå dette resultat.
Swipe to start coding
Hent op til 10 elever med den højeste gennemsnitlige matematikkarakter blandt alle elever, der har opnået 90 eller derover i matematikeksamen.
Sorter også resultatet efter kolonnen average_grade
i faldende rækkefølge.
Giv aliaset average_grade
til den gennemsnitlige matematikkarakter for at sikre, at opgaven kan kontrolleres korrekt.
Korte instruktioner
- Hent kolonnen
student_surname
og gennemsnittet af kolonnengrade
ved hjælp af funktionenAVG()
. - Tildel aliaset
average_grade
til den anden kolonne. - Anvend en betingelse, hvor
grade >= 90
ogsubject_name = 'Mathematics'
. - Gruppér resultaterne efter
student_surname
. - Sortér resultaterne efter
average_grade
i faldende rækkefølge. - Brug
LIMIT
-klausulen for kun at returnere 10 resultater.
Løsning
Tak for dine kommentarer!