select course_name, round(AVG(duration), 2) as avg_Len
from (
    select b.course_name, a.course_id, TIMESTAMPDIFF(MINUTE, a.in_datetime, a.out_datetime) as duration
    from attend_tb as a
    left join course_tb as b
    on a.course_id = b.course_id
) as c
group by course_name
order by avg_Len desc;