Scenario-1 : Using the count or sum with inner join query Table structures: videos: id, title, description, date_uploaded categories: id, category_name votes: id, videoid, vote, date (vote will range between 1 and 5) Query: SELECT v.id as vid, v.title, v.description, v.date_uploaded, c.category_name, v2.total, v2.count FROM videos v inner join categories c inner join (select videoid, sum(vote) as total, count(*) as count from votes group by videoid) v2 on v.category_id=c.id and v2.videoid=v.id and v.featured=1 and v.published=1 order by v.date_uploaded desc; Resultset: vid title description date_uploaded id category_name total count 12 Ford inauguration 2011-10-07 01:08:22 3 Inauguration 97 31 9 Nano n...