in reply to how to find an element in a table

If you happened to mean a database table then you first have to define the order, then get the value of the order column(s) for that row and then select one row that would be before that row in the ordering.

Assuming the table is named People, you want it sorted on LastName and then FirstName and want the person just before the person with ID 15 it could be something like this:

SELECT TOP 1 Previous.* from People as Previous join People as This on Previous.LastName < This.LastName or Previous +.LastName = This.LastName and Previous.FirstName < This.FirstName WHERE This.ID = 15 ORDER BY Previous.LastName DESC, Previous.FirstName DESC
If you happened to be looking for the guy just before John Doe it would be simpler:
SELECT TOP 1 * from People WHERE LastName < 'Doe' or LastName = 'Doe' and FirstName < 'Joe' ORDER BY Previous.LastName DESC, Previous.FirstName DESC