Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/hibernate/GradebookDAO.java =================================================================== diff -u -rb298c498f26d7e881bc2a2064d62988c51be3b1a -rac13129ef9471a9aa480150d5167fa8c0b5384f9 --- lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/hibernate/GradebookDAO.java (.../GradebookDAO.java) (revision b298c498f26d7e881bc2a2064d62988c51be3b1a) +++ lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/hibernate/GradebookDAO.java (.../GradebookDAO.java) (revision ac13129ef9471a9aa480150d5167fa8c0b5384f9) @@ -339,7 +339,7 @@ @Override public List getUsersByLesson(Long lessonId, int page, int size, String sortBy, String sortOrder, String searchString) { - final String LOAD_LEARNERS_ORDERED_BY_NAME = "SELECT user.* " + + final String LOAD_LEARNERS_ORDERED_BY_NAME = "SELECT DISTINCT user.* " + " FROM lams_lesson lesson, lams_group g, lams_user_group ug " + " INNER JOIN lams_user user ON ug.user_id=user.user_id " + " WHERE lesson.lesson_id = :lessonId " + @@ -349,7 +349,7 @@ "ORDER BY CONCAT(user.last_name, ' ', user.first_name) " + sortOrder; //when :sortBy='timeTaken' - final String LOAD_LEARNERS_ORDERED_BY_TIME_TAKEN = "SELECT user.* " + + final String LOAD_LEARNERS_ORDERED_BY_TIME_TAKEN = "SELECT DISTINCT user.* " + " FROM lams_lesson lesson, lams_group g, lams_user_group ug " + " INNER JOIN lams_user user ON ug.user_id=user.user_id " + " LEFT OUTER JOIN lams_learner_progress progress " + @@ -361,7 +361,7 @@ "ORDER BY TIMEDIFF(progress.finish_date_time, progress.start_date_time) " + sortOrder; //when :sortBy='mark' - final String LOAD_LEARNERS_ORDERED_BY_MARK = "SELECT user.* " + + final String LOAD_LEARNERS_ORDERED_BY_MARK = "SELECT DISTINCT user.* " + " FROM lams_lesson lesson, lams_group g, lams_user_group ug " + " INNER JOIN lams_user user ON ug.user_id=user.user_id " + " LEFT OUTER JOIN lams_gradebook_user_lesson gradebookUserLesson " + @@ -373,7 +373,7 @@ " ORDER BY gradebookUserLesson.mark " + sortOrder; //when :sortBy='feedback' - final String LOAD_LEARNERS_ORDERED_BY_FEEDBACK = "SELECT user.* " + + final String LOAD_LEARNERS_ORDERED_BY_FEEDBACK = "SELECT DISTINCT user.* " + " FROM lams_lesson lesson, lams_group g, lams_user_group ug " + " INNER JOIN lams_user user ON ug.user_id=user.user_id " + " LEFT OUTER JOIN lams_gradebook_user_lesson gradebookUserLesson " + @@ -410,7 +410,7 @@ public List getUsersByActivity(Long lessonId, Long activityId, int page, int size, String sortBy, String sortOrder, String searchString) { - final String LOAD_LEARNERS_ORDERED_BY_NAME = "SELECT user.* " + + final String LOAD_LEARNERS_ORDERED_BY_NAME = "SELECT DISTINCT user.* " + " FROM lams_lesson lesson, lams_group g, lams_user_group ug " + " INNER JOIN lams_user user ON ug.user_id=user.user_id " + " WHERE lesson.lesson_id = :lessonId " + @@ -420,7 +420,7 @@ " ORDER BY CONCAT(user.last_name, ' ', user.first_name) " + sortOrder; //when :sortBy='timeTaken' - final String LOAD_LEARNERS_ORDERED_BY_TIME_TAKEN_ACTIVITY = "SELECT user.* " + + final String LOAD_LEARNERS_ORDERED_BY_TIME_TAKEN_ACTIVITY = "SELECT DISTINCT user.* " + " FROM lams_lesson lesson, lams_group g, lams_user_group ug " + " INNER JOIN lams_user user ON ug.user_id=user.user_id " + " LEFT OUTER JOIN lams_learner_progress progress " + @@ -435,7 +435,7 @@ "ORDER BY TIMEDIFF(completedActivityProgress.completed_date_time, completedActivityProgress.start_date_time) " + sortOrder; //when :sortBy='mark' - final String LOAD_LEARNERS_ORDERED_BY_MARK_ACTIVITY = "SELECT user.* " + + final String LOAD_LEARNERS_ORDERED_BY_MARK_ACTIVITY = "SELECT DISTINCT user.* " + " FROM lams_lesson lesson, lams_group g, lams_user_group ug " + " INNER JOIN lams_user user ON ug.user_id=user.user_id " + " LEFT OUTER JOIN lams_gradebook_user_activity gradebookUserActivity " + @@ -473,7 +473,7 @@ public List getUsersByGroup(Long lessonId, Long activityId, Long groupId, int page, int size, String sortBy, String sortOrder, String searchString) { - final String LOAD_LEARNERS_ORDERED_BY_NAME = "SELECT user.* " + + final String LOAD_LEARNERS_ORDERED_BY_NAME = "SELECT DISTINCT user.* " + " FROM lams_user_group ug " + " INNER JOIN lams_user user ON ug.user_id=user.user_id " + " WHERE ug.group_id=:groupId " + @@ -482,7 +482,7 @@ sortOrder; //when :sortBy='timeTaken' - final String LOAD_LEARNERS_ORDERED_BY_TIME_TAKEN_GROUP = "SELECT user.* " + + final String LOAD_LEARNERS_ORDERED_BY_TIME_TAKEN_GROUP = "SELECT DISTINCT user.* " + " FROM lams_user_group ug " + " INNER JOIN lams_user user ON ug.user_id=user.user_id " + " LEFT OUTER JOIN lams_learner_progress progress " + @@ -495,7 +495,7 @@ " ORDER BY TIMEDIFF(completedActivityProgress.completed_date_time, completedActivityProgress.start_date_time) " + sortOrder; //when :sortBy='mark' - final String LOAD_LEARNERS_ORDERED_BY_MARK_GROUP = "SELECT user.* " + + final String LOAD_LEARNERS_ORDERED_BY_MARK_GROUP = "SELECT DISTINCT user.* " + " FROM lams_user_group ug " + " INNER JOIN lams_user user ON ug.user_id=user.user_id " + " LEFT OUTER JOIN lams_gradebook_user_activity gradebookUserActivity " +