Skip to content

Nombre d'élèves uniques et de sessions pour un enseignant

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
SELECT
    COUNT(DISTINCT ccsa.user_id) AS nb_eleves_uniques,
    COUNT(DISTINCT ccs.id) AS nb_sessions_total
FROM
    classroom_course_session ccs
    JOIN classroom_course_session_attendance ccsa ON ccsa.classroom_course_session_id = ccs.id
        AND ccsa.is_teacher = 0
        AND ccsa.was_absent = 0
WHERE
    ccs.status = 'COMPLETED'
    AND ccs.is_no_show = 0
    AND ccs.deleted_at IS NULL
    AND ccs.started_at BETWEEN ':start_date 00:00:00' AND ':end_date 23:59:59'
    AND ccs.user_id = (
        SELECT id FROM user WHERE email = ':teacher_email'
    )
    AND NOT EXISTS (
        SELECT
            1
        FROM
            classroom_course_session_attendance ccsa_absent
        WHERE
            ccsa_absent.classroom_course_session_id = ccs.id
            AND ccsa_absent.is_teacher = 0
            AND ccsa_absent.was_absent = 1
    );

Keywords

select classroom_course_session classroom_user_course_session_pivot user teacher live classroom