Per la prima domanda, perché non usare semplicemente?
SELECT COUNT(*) FROM myTable
per ottenere il conteggio.
E per la seconda domanda, la chiave primaria della riga è ciò che dovrebbe essere utilizzato per identificare una riga particolare. Non provare a utilizzare il numero di riga per questo.
Se hai restituito Row_Number() nella tua query principale,
SELECT ROW_NUMBER() OVER (Order by Id) AS RowNumber, Field1, Field2, Field3
FROM User
Quindi, quando vuoi tornare indietro di 5 righe, puoi prendere il numero di riga corrente e utilizzare la query seguente per determinare la riga con riga corrente -5
SELECT us.Id
FROM (SELECT ROW_NUMBER() OVER (ORDER BY id) AS Row, Id
FROM User ) us
WHERE Row = CurrentRow - 5