SELECT
course_id,
course_name,
ROUND(100 * COUNT(DISTINCT CASE WHEN timestampdiff(second, in_datetime, out_datetime) >= 10*60 THEN a.user_id END) / COUNT(DISTINCT CASE WHEN if_sign = 1 THEN b.user_id END), 2) AS attend_rate
FROM
course_tb
JOIN
behavior_tb b USING(course_id)
JOIN
attend_tb a USING(course_id)
GROUP BY
course_id, course_name
ORDER BY
course_id

京公网安备 11010502036488号