Changes between Version 17 and Version 18 of WikiStart/AdvancedReports


Ignore:
Timestamp:
02/05/24 16:43:43 (8 months ago)
Author:
133039
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart/AdvancedReports

    v17 v18  
    421421}}}
    422422
    423 
    424 
    425 
     423== **[[span(style=color: #BF1B1B, 9:)]]**
     424
     425{{{
     426WITH counted_events AS (
     427  select
     428    s.student_id,
     429    COUNT(distinct(se.calendar_event_id)) AS student_events,
     430    COUNT(distinct(sje.calendar_event_id)) as subject_events
     431  FROM
     432    student s
     433  LEFT join
     434    student_event se ON s.student_id = se.student_id
     435  left join
     436        subject_at_term sat on sat.student_id = s.student_id
     437  LEFT JOIN
     438    subject_event sje ON sat.student_id = sje.student_id
     439  LEFT JOIN
     440    calendar_event ce ON se.calendar_event_id = ce.calendar_event_id or sje.calendar_event_id = ce.calendar_event_id
     441  LEFT JOIN
     442    repeating_event re ON ce.calendar_event_id = re.calendar_event_id
     443      AND EXTRACT(YEAR FROM CURRENT_DATE) >= EXTRACT(YEAR FROM re.starting_date)
     444      AND EXTRACT(YEAR FROM CURRENT_DATE) <= EXTRACT(YEAR FROM re.ending_date)
     445  LEFT JOIN
     446    non_repeating_event nre ON ce.calendar_event_id = nre.calendar_event_id
     447      AND EXTRACT(YEAR FROM nre.event_date) = EXTRACT(YEAR FROM CURRENT_DATE)
     448  GROUP BY
     449    s.student_id
     450)
     451
     452SELECT
     453  AVG(student_events) AS average_student_events,
     454  AVG(subject_events) AS average_subject_events
     455        FROM
     456        counted_events
     457
     458
     459}}}
     460