with t1 as ( select user_id, course_id, in_datetime as dt, 1 as diff from attend_tb union all select user_id, course_id, out_datetime as dt, -1 as diff from attend_tb ), t2 as ( select user_id, course_id, sum(diff) over ( partition by course_id order by dt, diff desc ) as num from t1 ) select t3.cou...