SQL does not have to return rows in any particular order, so you have to specify an ordering if you want to fetch any specific row. However, when you have done that, try this:
WITH myTableWithRows AS (
SELECT (ROW_NUMBER() OVER (ORDER BY myTable.SomeField)) as row,*
FROM myTable)
SELECT * FROM myTableWithRows WHERE row = 2