Moodle Requêtes SQL

Moodle Requêtes SQL

26 août 2020 Non Par nospheratus

Afin de monitorer des valeurs, ou de fournir des indicateurs quant à l’utilisation de Moodle, il est intéressant de le faire directement en base de données.
Voici quelques requêtes que j’ai utilisé.

Nombre d’utilisateurs en simultanés sur Moodle

SELECT COUNT(*) AS nb_user FROM moodle.mdl_user WHERE deleted=0 and lastaccess > (UNIX_TIMESTAMP() – 300) and lastaccess < UNIX_TIMESTAMP();

Ici le résultat est pour 5 minutes (300 secondes).

Nombre de cours actif dans Moodle

SELECT COUNT(*) AS cours FROM moodle.mdl_course WHERE enddate=0 or enddate > UNIX_TIMESTAMP();

la requête renvoie le nombre de cours où la date de fin est supérieur à la date du jour ou ceux qui n’ont pas de date de fin.

Nombre d’étudiants et d’enseignants sur Moodle

SELECT COUNT(DISTINCT lra.userid) AS students, COUNT(DISTINCT tra.userid) as teachers FROM mdl_course AS c LEFT JOIN mdl_context AS ctx ON c.id = ctx.instanceid JOIN mdl_role_assignments AS lra ON lra.contextid = ctx.id
JOIN mdl_role_assignments AS tra ON tra.contextid = ctx.id JOIN mdl_course_categories AS cats ON c.category = cats.id WHERE c.category = cats.id AND lra.roleid=5 AND tra.roleid=3;