O comando SQL a seguir gera um relatório com a lista de cursos no Moodle com as seguintes informações:
- Quantidade de participantes inscritos no curso
- Total desses participantes que acessaram
Com esse relatório, dá para mapear em qual curso há maior grau de engajamento dos alunos
SELECT c.id,c.fullname,COUNT(DISTINCT ue.id) AS countenrol,COUNT(DISTINCT ul.userid) AS countenrolaccess FROM mdl_role_assignments rs INNER JOIN mdl_role r ON rs.roleid=r.id INNER JOIN mdl_context e ON rs.contextid=e.id INNER JOIN mdl_enrol en ON e.instanceid=en.courseid INNER JOIN mdl_user_enrolments ue ON en.id=ue.enrolid INNER JOIN mdl_course c ON c.id=en.courseid LEFT JOIN mdl_user_lastaccess ul ON (e.instanceid=ul.courseid AND rs.userid=ul.userid) WHERE e.contextlevel=50 AND rs.userid=ue.userid AND en.status=0 AND ue.status=0 GROUP BY c.id,c.fullname