Mapear os alunos que acessaram um determinado curso no Moodle com comando SQL

Mapear os alunos que acessaram um determinado curso no Moodle com comando SQL

por Lino Vaz Moniz -
Número de respostas: 0

Para listar os alunos que acessaram um determinado curso, execute no banco o seguinte comando SQL

SELECT DISTINCT u.id, u.firstname,u.lastname,u.email FROM mdl_role_assignments rs INNER JOIN mdl_user u ON u.id=rs.userid INNER JOIN mdl_context e ON rs.contextid=e.id INNER JOIN mdl_logstore_standard_log l ON l.userid=u.id AND l.courseid=e.instanceid WHERE e.contextlevel=50 AND rs.roleid=5 AND e.instanceid=?

 Passe o parâmetro id do curso em e.instanceid=?

 

Para listar os alunos que acessaram um determinado curso em um determinado período, execute no banco o seguinte comando SQL

SELECT DISTINCT u.id, u.firstname,u.lastname,u.email FROM mdl_role_assignments rs INNER JOIN mdl_user u ON u.id=rs.userid INNER JOIN mdl_context e ON rs.contextid=e.id INNER JOIN mdl_logstore_standard_log l ON l.userid=u.id AND l.courseid=e.instanceid WHERE e.contextlevel=50 AND rs.roleid=5 AND e.instanceid=? AND l.timecreated >= ? AND l.timecreated <= ?

Passe o parâmetro id do curso em e.instanceid=?

Para o parâmetro data inicial / final em AND l.timecreated >= ? AND l.timecreated <= ?  a data precisa ser convertida em timestamp