Changes between Version 3 and Version 4 of Analytical and statistical querying


Ignore:
Timestamp:
02/10/25 01:21:03 (13 days ago)
Author:
206046
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Analytical and statistical querying

    v3 v4  
    4747}}}
    4848
     49= Find the Average Progress Score for Each Course, and Compare It to Overall Average =
     50
     51{{{#!sql
     52SELECT c.id_Course, s.name AS subject_name,
     53       AVG(sub.progress_score) AS course_avg_score,
     54       (SELECT AVG(progress_score) FROM Submission) AS overall_avg_score
     55FROM Submission sub
     56JOIN Enrollment e ON sub.id_student = e.id_student
     57JOIN Course c ON e.id_Course = c.id_Course
     58JOIN Subject_Course sc ON c.id_Course = sc.id_Course
     59JOIN Subject s ON sc.id_subject = s.id_subject
     60GROUP BY c.id_Course, s.name;
     61}}}
     62
     63= Rank Professors by Subject Based on Average Rating =
     64
     65{{{#!sql
     66SELECT
     67    t.id_teacher,
     68    u.username AS teacher_name,
     69    s.id_subject,
     70    s.name AS subject_name,
     71    AVG(r.rating) AS avg_rating,
     72    RANK() OVER (PARTITION BY s.id_subject ORDER BY AVG(r.rating) DESC) AS rank
     73FROM Rating r
     74JOIN Teacher t ON r.id_teacher = t.id_teacher
     75JOIN User u ON t.id_user = u.id_user
     76JOIN Course c ON t.id_teacher = c.created_by
     77JOIN Subject_Course sc ON c.id_Course = sc.id_Course
     78JOIN Subject s ON sc.id_subject = s.id_subject
     79GROUP BY t.id_teacher, u.username, s.id_subject, s.name
     80ORDER BY avg_rating DESC;
     81}}}
     82
     83
     84