SELECT 
	c.course_id,
    c.course_name,
    ROUND(SUM(IF(online_time >= 10 AND if_sign = 1, 1, 0)) / SUM(if_sign) * 100, 2) AS 'attend_rate(%)'
FROM behavior_tb b
LEFT JOIN course_tb c
ON b.course_id = c.course_id
LEFT JOIN(
SELECT
	user_id,
    course_id,
    SUM(TIMESTAMPDIFF(MINUTE, in_datetime, out_datetime)) AS online_time
FROM attend_tb
GROUP BY user_id, course_id
) AS tb1
ON b.user_id = tb1.user_id AND b.course_id = tb1.course_id
GROUP BY c.course_id, c.course_name
ORDER BY c.course_id ASC