Voor de eerste vraag, waarom niet gewoon gebruiken?
SELECT COUNT(*) FROM myTable
om de telling te krijgen.
En voor de tweede vraag is de primaire sleutel van de rij wat moet worden gebruikt om een bepaalde rij te identificeren. Probeer daar niet het rijnummer voor te gebruiken.
Als u Row_Number() heeft geretourneerd in uw hoofdquery,
SELECT ROW_NUMBER() OVER (Order by Id) AS RowNumber, Field1, Field2, Field3
FROM User
Als u vervolgens 5 rijen terug wilt gaan, kunt u het huidige rijnummer nemen en de volgende query gebruiken om de rij te bepalen met huidige rij -5
SELECT us.Id
FROM (SELECT ROW_NUMBER() OVER (ORDER BY id) AS Row, Id
FROM User ) us
WHERE Row = CurrentRow - 5