Если вы хотите соотношение, то вы можете сделать:
select count(*) as num_right_swipes,
count(st2.swipe_type) as num_matches,
count(st2.swipe_type) * 1.0 / count(*) as ratio
from SwipeTable st1 left join
SwipeTable st2
on st2.swiping_user_id = st1.swiped_on_user_id and
st2.swiped_user_id = st1.swiping_on_user_id and
st2.swipe_type = st1.swipe_type
where s2.swipe_type = 'right';
Это предполагает, что считывания являются уникальными (то есть не два "правильных" пролистывания для лица A к человеку B).Если это не так, вы должны задать новый вопрос и объяснить, как обрабатывать дубликаты.