SQL Fiddle for playing
select u.user_id, u.user_name,
c.comment_id, c.topic_id,
sum(v.vote) as totals, sum(v.vote > 0) as yes, sum(v.vote < 0) as no,
my_votes.vote as did_i_vote
from comments c
join users u on u.user_id = c.commenter_id
left join votes v on v.comment_id = c.comment_id
left join votes my_votes on my_votes.comment_id = c.comment_id
and my_votes.voter_id = 1
where c.topic_id = 1
group by c.comment_id, u.user_name, c.comment_id, c.topic_id, did_i_vote;
Update: fixed group by clause
update by OP (tim peterson): fixed count as totals and added comment itself to be returned by the query final working SQLFiddle