Count distinct accepted pairs over distinct requests
SELECT
ROUND(
COUNT(DISTINCT requester_id || '-' || accepter_id) * 1.0
/ COUNT(DISTINCT sender_id || '-' || send_to_id),
2
) AS accept_rate
FROM FriendRequest fr
LEFT JOIN RequestAccepted ra
ON fr.sender_id = ra.requester_id
AND fr.send_to_id = ra.accepter_idThis approach keeps the numerator and denominator aligned at the pair level. Distinct pairs prevent duplicate rows from inflating the request or acceptance counts.