jamiet757 Posted January 9, 2010 Share Posted January 9, 2010 I have a site that users can post links to files to download. They can rate these files on a 1-5 scale. I had someone make a Top Rated section for the site, to show the user with the highest rating for their links. However, it just adds a total of points, i.e. if the user has 3 links rated 5/5, their points are 15, if a user has 10 links rated 5/5, their points are 50. It displays the rating based on the number of points, but I would like it to divide the number of points by the number of links. Here is the section of code that deals with the rating calculation, I just don't know enough about syntax to figure out how to divide by the other variable. <?xml version="1.0" encoding="utf-8"?> <sqlmap> <select id="getTopPoster" resultClass="array"> <![CDATA[ select username, count(linkid) as linkposted from link group by username order by linkposted desc limit 5 ]]> </select> <select id="getTopRated" resultClass="array"> <![CDATA[ select username, sum(rate) as point from link where rate<>-1 group by username order by point desc limit 5 ]]> </select> </sqlmap> I know it is xml code, but I didn't know where else to put it, the rest of the site is built using Prado. Link to comment https://forums.phpfreaks.com/topic/187783-calculating-a-rating-by-adding-number-of-points-and-dividing-by-number-of-items/ Share on other sites More sharing options...
MarioRossi Posted January 10, 2010 Share Posted January 10, 2010 Try... select username, (sum(rate) / count(linkid)) as point from link where rate<>-1 group by username order by point desc limit 5 Link to comment https://forums.phpfreaks.com/topic/187783-calculating-a-rating-by-adding-number-of-points-and-dividing-by-number-of-items/#findComment-992412 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.