MDL-60718 analytics: Avoid duplicates for users with 2 enrolments
authorSara Arjona <sara@moodle.com>
Wed, 8 Nov 2017 08:55:06 +0000 (09:55 +0100)
committerSara Arjona <sara@moodle.com>
Wed, 8 Nov 2017 18:12:59 +0000 (19:12 +0100)
analytics/classes/course.php

index b723abf..eb87b75 100644 (file)
@@ -356,7 +356,7 @@ class course implements \core_analytics\analysable {
         $monthsago = time() - (WEEKSECS * 4 * 2);
         $select = $filterselect . ' AND timeaccess > :timeaccess';
         $params = $filterparams + array('timeaccess' => $monthsago);
-        $sql = "SELECT timeaccess FROM {user_lastaccess} ula
+        $sql = "SELECT DISTINCT timeaccess FROM {user_lastaccess} ula
                   JOIN {enrol} e ON e.courseid = ula.courseid
                   JOIN {user_enrolments} ue ON e.id = ue.enrolid AND ue.userid = ula.userid
                  WHERE $select";
@@ -364,7 +364,7 @@ class course implements \core_analytics\analysable {
             return 0;
         }
 
-        $sql = "SELECT timeaccess FROM {user_lastaccess} ula
+        $sql = "SELECT DISTINCT timeaccess FROM {user_lastaccess} ula
                   JOIN {enrol} e ON e.courseid = ula.courseid
                   JOIN {user_enrolments} ue ON e.id = ue.enrolid AND ue.userid = ula.userid
                  WHERE $filterselect AND ula.timeaccess != 0