select t1.course_name, round(avg(timestampdiff(minute, t2.in_datetime, t2.out_datetime)), 2) as avg_Len from course_tb as t1 left join attend_tb as t2 on t1.course_id = t2.course_id group by t1.course_name order by avg_Len desc;