MySQL Forums
Forum List  »  Newbie

Re: RANK() emulator?
Posted by: Rick James
Date: November 09, 2009 04:42PM

If you don't have the SUM(score), better get it first:
SELECT  @rank := 0; 
SELECT  @rank := @rank + 1 AS Rank, gamer,
        point
    FROM  (
        SELECT gamer, SUM(score) as point
            FROM score_ranked s
            GROUP BY  gamer
            Order By  point DESC; 
          ) x
Do deal with ties for 10th place, perhaps you need to fetch all the rows, but have the application code decide when to stop reading rows.

To do it entirely in MySQL probably involves creating a temporary table, finding the 10th 'point', then fetching all the rows that have that value or more. This would get 10 or more rows appropriately.

Options: ReplyQuote


Subject
Written By
Posted
September 21, 2009 01:25PM
September 21, 2009 01:33PM
September 21, 2009 02:09PM
September 21, 2009 04:23PM
November 07, 2009 10:27AM
November 11, 2009 03:18PM
November 08, 2009 03:52PM
November 09, 2009 10:56AM
Re: RANK() emulator?
November 09, 2009 04:42PM
November 09, 2009 05:38PM
November 09, 2009 08:18PM
November 10, 2009 06:21PM
November 10, 2009 09:22PM
November 11, 2009 09:19AM
November 11, 2009 08:36PM
November 12, 2009 08:39AM
November 12, 2009 08:00PM
November 13, 2009 06:41PM
November 17, 2009 10:35PM
November 19, 2009 10:35AM
November 17, 2009 10:38PM
November 19, 2009 10:16AM
November 19, 2009 10:32AM
November 19, 2009 10:39AM
November 19, 2009 10:45AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.