First, you post here, so you read the replies here. We don't email to you personally. (does that sound grumpy enough? :-))
Second, be carefull about how you optimize your queries.
While a query like "select rank 2" might be quicker than using one big query, you will in fact do 49 queries more. That means your 50 queries must each take less than 1/50th of the time the big query takes in order to be faster.
Do you have a index on the fields that you select on, or are the the primary key?
If not, then 50 queries will be quite a bit slower than one big query, because the database server will have to go through each and every record in the table to get the answers. As you can imagine, doing that 1 time or 50 times is quite a difference.
If speed is a big issue, and your rankings don't change by the minute (or you don't care about displaying realtime data), why not
store the results you want to display in a seperate table?
This table could contain the output of your big query along with an auto_increment primary key field to count the rows.
Then if you want results 50-99, you can select the rows from that table;
select * from new_table where ID<100 and ID>49;
which requires near zero work from the databse in terms of searching.