Rastrear progresso / quantidade de atividades no curso do Moodle que o aluno concluiu com comando SQL

Rastrear progresso / quantidade de atividades no curso do Moodle que o aluno concluiu com comando SQL

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

Para rastrear no banco o progresso de atividades, ou seja, quantas atividades o aluno já completou com SQL, é necessário executar os seguintes comandos:

Verificar se o curso está com rastreamento de conclusão habilitado

SELECT COUNT(id) AS countrecord FROM mdl_course WHERE id=? AND enablecompletion = 1

 Passe o parâmetro id do curso em id=?

Consultar total de atividades com configuração de conclusão

SELECT COUNT(id) AS countrecord FROM mdl_course_modules WHERE course=? AND completion > 0

Passe o parâmetro id do curso em course=?

Consultar total de atividade completadas pelo aluno

SELECT COUNT(c.id) AS countrecord FROM mdl_course_modules_completion c INNER JOIN mdl_course_modules m ON c.coursemoduleid = m.id WHERE c.userid=? AND m.course=? AND m.completion > 0 AND c.completionstate > 0  AND c.completionstate < 3

Passe o parâmetro id do curso em m.course=? e id do aluno e c.userid=?

 

Consultar total de atividade com rastreamento de conclusão dos cursos de um determinado aluno

SELECT c.id,COUNT(cm.completion) AS countprogressactivity FROM mdl_role_assignments rs INNER JOIN mdl_context e ON rs.contextid=e.id INNER JOIN mdl_course c ON c.id=e.instanceid INNER JOIN mdl_course_modules cm ON cm.course=c.id WHERE e.contextlevel=50 AND rs.userid=? AND cm.completion > 0 GROUP BY c.id

Passe o parâmetro id  do aluno em rs.userid=?

 

Consultar total de atividade concluídas dos cursos de um determinado aluno

SELECT cm.course,COUNT(cmp.completionstate) AS countrecord FROM mdl_course_modules_completion cmp INNER JOIN mdl_course_modules cm ON cmp.coursemoduleid = cm.id WHERE cmp.userid=?  AND cm.completion > 0 AND cmp.completionstate > 0  AND cmp.completionstate < 3 GROUP BY  cm.course

Passe o parâmetro id  do aluno em cmp.userid=?