Editor

Average marks in each course

Medium · School database · JOIN, GROUP BY, COUNT, SUM, AVG

Find the average marks in each course. Enrollments with no marks yet (NULL) do not count, and courses that nobody has taken are left out.

Return the course name and its average marks rounded to 2 decimals with round, in that order, highest average first; equal averages by course name A to Z.

Expected result

nameaverage_marks
Computer Science85.25
Informatics Practices84.67
Chemistry81.33
Economics81.33
English80.6
Physics80.4
Mathematics79.43
Biology77.6
Physical Education75
The school tables

courses: 10 rows, first 5 shown

idnameteacher_idcredits
1Physics14
2Chemistry24
3Mathematics35
4English43
5Biology54

enrollments: 40 rows, first 5 shown

idstudent_idcourse_idmarksenrolled_on
111882025-04-07
213882025-04-07
322912025-04-08
424862025-04-08
531722025-04-09

students: 24 rows, first 5 shown

idnamegenderclasssectioncitydobemail
1Aarav SharmaM12ADelhi2008-05-14aarav.sharma@example.com
2Priya NairF12AKochi2008-09-02priya.nair@example.com
3Rohan GuptaM12BDelhi2008-01-23NULL
4Ananya IyerF12BChennai2008-11-30ananya.iyer@example.com
5Kabir SinghM12CChandigarh2007-12-19kabir.singh@example.com

teachers: 8 rows, first 5 shown

idnamesubjectcityjoined_on
1Sunita MehraPhysicsDelhi2012-06-01
2Rajesh KumarChemistryDelhi2015-07-15
3Lakshmi KrishnanMathematicsChennai2010-04-01
4David ThomasEnglishKochi2018-06-20
5Farah QureshiBiologyMumbai2016-08-01
-- Write your SQL here