SELECT
course_id, course_name,
ROUND(COUNT(DISTINCT IF(if_sign = 1, user_id, NULL)) / COUNT(DISTINCT IF(if_vw = 1, user_id, NULL)) * 100, 2) AS 'sign_rate(%)'
FROM
behavior_tb
JOIN course_tb
USING(course_id)
GROUP BY
course_id, course_name