affinché il join sinistro sia attivo devi spostare la condizione earned_trophys.user_id = 1
nel on
clausola invece di where
.
select
trophy.name,
earned_trophys.user_id,
count(user_id) as temp
from
trophy
left join
earned_trophys
on
trophy.trophy_id = earned_trophys.trophy_id and earned_trophys.user_id = 1
group by
name