Esse relatório lista a data mais recente em que um aluno tive nota de atividade atualizado no curo. Essa consulta exclui a nota final do curso.
Comando SQL
SELECT g.userid, MAX(g.timemodified) AS timemodified FROM mdl_grade_items i INNER JOIN mdl_grade_grades g ON g.itemid=i.id WHERE i.courseid=? AND i.itemtype != 'course' GROUP BY g.userid
Passe parâmetro id do curso em i.courseid=?
Comando PHP
function get_last_timemodified_grade_per_user($courseid){
global $CFG,$DB;
$sql ="SELECT g.userid, MAX(g.timemodified) AS timemodified FROM {$CFG->prefix}grade_items i INNER JOIN {$CFG->prefix}grade_grades g ON g.itemid=i.id WHERE i.courseid=$courseid AND i.itemtype != 'course' GROUP BY g.userid";
$rows = $DB->get_records_sql($sql);
return $rows;
}