with a as( select ct.course_name, round(avg(timestampdiff(second,at.in_datetime,at.out_datetime)/60),2) as avg_Len from attend_tb as at left join course_tb as ct on at.course_id=ct.course_id group by ct.course_name order by avg_Len desc ) select * from a