select
e.user_id as "User ID",
psra.sis_user_id as "Sis",
banner.Major_Desc as "Major",
(select count(finished_at)
from canvas.quiz_submissions qs, canvas.quizzes q
where q.id=qs.quiz_id and qs.user_id=e.user_id
and context_id=1638075
/*and to_char(qs.finished_at, 'yyyy-Mon-dd') between ('2023-05-01') and ('2024-04-30')*/
and qs.finished_at >= '2023-05-01'
and qs.finished_at <= '2024-04-30'
) as "Quiz Count",
(select count(completed_at)
from canvas.context_module_progressions cmp, canvas.context_modules cm
where cmp.context_module_id = cm.id
and cmp.user_id = e.user_id
and cm.context_id = 1638075
/*and to_char(cmp.updated_at, 'yyyy-Mon-dd') between ('2023-05-01') and ('2024-04-30')*/
and cmp.updated_at >= '2023-05-01'
and cmp.updated_at <= '2024-04-30'
) as "Module Count"
from canvas.enrollments e
inner join canvas.pseudonyms as psra on psra.id = e.sis_pseudonym_id
inner join canvas.banner_active_student_curriculum_detail as banner on banner.BLAZERID = psra.sis_user_id
where e.course_id=1638075
and e.type='StudentEnrollment'
group by "User ID","BlazerID","Graduate Level","Graduate Description", "Department", "Program","College","Degree","Major", "Quiz Count", "Module Count";
The query gets *some* of the submissions and module completions during the time frame, but not others.