deals tablosunun yapısını bilmediğim için
deals.id olarak tanımladım tabloya göre değiştirirsiniz.
SELECT *, count(deals_votes.vote_id) AS popular FROM deals
LEFT JOIN deals ON deals.id = deals_votes.vote_deal_id WHERE deals_votes.vote_value > 0
ORDER BY popular DESC
edit // aşağıdaki gibi olacak
SELECT *, count(deals_votes.vote_id) AS popular FROM deals
LEFT JOIN deals ON deals.id = deals_votes.vote_deal_id WHERE deals_votes.vote_value > 0 GROUP BY deals_votes.vote_deal_id
ORDER BY popular DESC