I am creating a game where I am calculating the user points on the basis of user activities. Everything is working fine - I got the sum of points and on the basis of points I calculated the rank. I have two columns for points calculation: pointsup
(contains up points) and pointsdown
(contains down points)
select sum(pointsup - pointsdown) as points
from table1 t1
join table2 t2
on t2.Id = t1.id
where t1.ActivityTime BETWEEN '2015-01-01' AND '2016-01-01'
group by t1.id
order by points desc
Everything is fine, but the problem comes when I have to rank the users with same points. In this case, I have to consider the registration date: who registers first will come up first on the ranking. The registration date is in another table table3
. I have tried to join this third table but the sum is behaving oddly, showing wrong sum calculation.
Can anyone help please?
table1
and so on? Anyway, showing some example data and the wrong output (with the wrong query) could help a lot in getting an answer. Otherwise, it's just guesswork (already done by @JamesAnderson) to figure out what the odd behaviour can mean. – dezso Jul 2 '15 at 10:35