selecting specific row number from select
===

I'm a beginner at MySQL syntax. So there are a few question I want to ask.

I got a clue DB where users can add in clues. And have a webmethod that select a range of numbers to do random function. (random for the sake of the game, no point doing same clue over and over right?)

But my main problem right now is that **what if the author decided to add in more clues?**
then my clue db will be looking like this. 

    +--------+-------------+-----------+--------+
    | cID    | clueDetails |  location | author |
    +--------+-------------+-----------+--------+
    |   1    |      abcde  |   loc 1   | auth 1 |
    |   2    |      efghi  |   loc 1   | auth 1 |
    |   3    |      jklmno |   loc 2   | auth 1 |
    |   4    |      pqrstu |   loc 2   | auth 1 |
    |   5    |      vwxyz  |   loc 1   | auth 1 |
    +--------+-------------+-----------+--------+

If the player select loc 1 auth 1, it will be showing cID 1,2 and 5. so I couldn't use my random function effectively. I know right now it's very vague as information are scarce. And to actually understand the whole process, goes right down to the game, and the method/function I have. (which will be very long)

Cutting to the chase, my result will be something as shown below, and the way to identify it will be by cID, but in the event that clue were added in different order ( as shown above) then my function will get rather screw up.

    +--------+-------------+-----------+--------+
    | cID    | clueDetails |  location | author |
    +--------+-------------+-----------+--------+
    |   1    |      abcde  |   loc 1   | auth 1 |
    |   2    |      efghi  |   loc 1   | auth 1 |
    |   5    |      vwxyz  |   loc 1   | auth 1 |
    +--------+-------------+-----------+--------+

So with that, I want to ask if can we select row by its number? e.g row[3] = cID 5, vwxyz, loc 1, auth 1.  

As far as I'm concerned, I've done massive research and there doesn't seem to be any function in MySQL that allow us to select by row number. (though all the article were pretty old dated, 2010 and before)

I saw a SO thread - `http://stackoverflow.com/questions/2520357/mysql-get-row-number-on-select` and from how I see it, it seems to be generating a field called ranking. 

What I want to know is, is this field `ranking` temp or permanent? Because if it's just a temp field, then I could shift the identifier from cID to this numbering.

Or do any of you have any suggestion to go around solving this issue? I thought of clearing the db, and re create the db, but that will be taking too much time. And over time when the DB get large it will be slower as well. And another method is to make a datatable to fill all the current clue where loc=?loc and auth=?auth and add them in again with the new clue(latest), but i figure that will cause the cID to boom and fly at a very fast rate. And I'm afraid this will cause memory management issue / memory leak.