Today! I found the same issue as mentioned by the OP, and after GOOGLING, I landed on this SOLVED POST at CP, but shocked and terrified to see the answered link not working... :(
anyway a bit later after bit more GOOGLING , found an answer to my query,
and thought of sharing it here, just for the sake of other naive's like me for future.
Well. Let comes to the point. if a user wants to search 2nd row of a table without using WHERE clause.
the following chunk comes into the play. :)
SELECT TOP 1 T.* FROM
(SELECT TOP 2 * FROM TableName ORDER BY ID ASC) AS T
ORDER BY T.ID DESC;
The logic is pretty simple, Inner Query gets the nth number of rows i.e. 2 top rows in this case, and than outer query descended that result and get the top of that. :)
Hope it will help. :)