Hej alla,

First of all, a Happy New Year for all of you! My vacations are gone and I now have to 
come back to my true reality... Databases and PHP. :)
A very interesting question for you experts. Let's see if you can help me.

I am developing a game with a team and I have to store the scores of users on a MySQL 
database to create a ranking. I have a MySQL table called ranking and this table has 
got the following fields:

user VARCHAR(12) NOT NULL /* nickname of the user */
mpontos INT NOT NULL /* amount of points per month */

Very simple, huh? Here comes the tricky part... I want to search for a specific user 
and make a query that is able to identify the user one position ahead and the user one 
position behind. Something like this:

user            mpontos
UserA           1532
James Brown     1349
UserB           1229

The most important part is that it cannot be any user with more or less points than 
James Brown. It must be exactly the users with the smallest difference to his amount 
of points. Do you have any suggestions?

The second part of my problem includes the first one and tries to go in a little bit 
further... Using the example above, is it possible to "ask" MySQL for the actual 
position of James Brown and the other users on that specific table according to the 
amount of points? Something like this:

user            mpontos position
UserA           1532            12
James Brown     1349            13
UserB           1229            14

Any suggestions you experts?

Thanks in advance!!!

Fábio Ottolini

Reply via email to