Adicionar um
group by
SELECT content.id,
sum(likes.type = 'p') as p
FROM content
JOIN likes on likes.content_id = content.id
GROUP BY content.id
Em seguida, as funções agregadas (ou seja,
count()
) são aplicados aos grupos e não a todo o resultado.