MDL-60718 analytics: Avoid duplicates for users with 2 enrolments

This commit is contained in:
Sara Arjona 2017-11-08 09:55:06 +01:00
parent ccf7578373
commit 0c0d460e8b

View file

@ -356,7 +356,7 @@ class course implements \core_analytics\analysable {
$monthsago = time() - (WEEKSECS * 4 * 2); $monthsago = time() - (WEEKSECS * 4 * 2);
$select = $filterselect . ' AND timeaccess > :timeaccess'; $select = $filterselect . ' AND timeaccess > :timeaccess';
$params = $filterparams + array('timeaccess' => $monthsago); $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 {enrol} e ON e.courseid = ula.courseid
JOIN {user_enrolments} ue ON e.id = ue.enrolid AND ue.userid = ula.userid JOIN {user_enrolments} ue ON e.id = ue.enrolid AND ue.userid = ula.userid
WHERE $select"; WHERE $select";
@ -364,7 +364,7 @@ class course implements \core_analytics\analysable {
return 0; 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 {enrol} e ON e.courseid = ula.courseid
JOIN {user_enrolments} ue ON e.id = ue.enrolid AND ue.userid = ula.userid JOIN {user_enrolments} ue ON e.id = ue.enrolid AND ue.userid = ula.userid
WHERE $filterselect AND ula.timeaccess != 0 WHERE $filterselect AND ula.timeaccess != 0