{"id":727,"date":"2020-08-26T17:11:40","date_gmt":"2020-08-26T15:11:40","guid":{"rendered":"http:\/\/blog.nosland.com\/?p=727"},"modified":"2020-08-26T17:11:41","modified_gmt":"2020-08-26T15:11:41","slug":"moodle-requetes-sql","status":"publish","type":"post","link":"http:\/\/blog.nosland.com\/?p=727","title":{"rendered":"Moodle Requ\u00eates SQL"},"content":{"rendered":"\n<p>Afin de monitorer des valeurs, ou de fournir des indicateurs quant \u00e0 l&rsquo;utilisation de Moodle, il est int\u00e9ressant de le faire directement en base de donn\u00e9es. <br>Voici quelques requ\u00eates que j&rsquo;ai utilis\u00e9.<\/p>\n\n\n\n<h2><span class=\"has-inline-color has-vivid-cyan-blue-color\">Nombre d&rsquo;utilisateurs en simultan\u00e9s sur Moodle<\/span><\/h2>\n\n\n\n<p class=\"has-black-color has-luminous-vivid-amber-background-color has-text-color has-background\"><strong>SELECT COUNT(*) AS nb_user FROM moodle.mdl_user WHERE deleted=0 and lastaccess > (UNIX_TIMESTAMP() &#8211; 300) and lastaccess &lt; UNIX_TIMESTAMP();<\/strong><\/p>\n\n\n\n<p>Ici le r\u00e9sultat est pour 5 minutes (300 secondes). <\/p>\n\n\n\n<h2><span class=\"has-inline-color has-vivid-cyan-blue-color\">Nombre de cours actif dans Moodle<\/span><\/h2>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background\"><strong>SELECT COUNT(*) AS cours FROM moodle.mdl_course WHERE enddate=0 or enddate > UNIX_TIMESTAMP();<\/strong><\/p>\n\n\n\n<p>la requ\u00eate renvoie le nombre de cours o\u00f9 la date de fin est sup\u00e9rieur \u00e0 la date du jour ou ceux qui n&rsquo;ont pas de date de fin. <\/p>\n\n\n\n<h2><span class=\"has-inline-color has-vivid-cyan-blue-color\">Nombre d&rsquo;\u00e9tudiants et d&rsquo;enseignants sur Moodle<\/span><\/h2>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background\"><strong>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<br>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;<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Afin de monitorer des valeurs, ou de fournir des indicateurs quant \u00e0 l&rsquo;utilisation de Moodle, il est int\u00e9ressant de le&hellip;<\/p>\n","protected":false},"author":1,"featured_media":722,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[6,10],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.nosland.com\/index.php?rest_route=\/wp\/v2\/posts\/727"}],"collection":[{"href":"http:\/\/blog.nosland.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.nosland.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.nosland.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.nosland.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=727"}],"version-history":[{"count":2,"href":"http:\/\/blog.nosland.com\/index.php?rest_route=\/wp\/v2\/posts\/727\/revisions"}],"predecessor-version":[{"id":729,"href":"http:\/\/blog.nosland.com\/index.php?rest_route=\/wp\/v2\/posts\/727\/revisions\/729"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/blog.nosland.com\/index.php?rest_route=\/wp\/v2\/media\/722"}],"wp:attachment":[{"href":"http:\/\/blog.nosland.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=727"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.nosland.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=727"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.nosland.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}