最初の質問では、なぜ使用しないのですか?
SELECT COUNT(*) FROM myTable
カウントを取得します。
そして2番目の質問では、行の主キーは特定の行を識別するために何を使用する必要があるかです。そのために行番号を使用しようとしないでください。
メインクエリでRow_Number()を返した場合、
SELECT ROW_NUMBER() OVER (Order by Id) AS RowNumber, Field1, Field2, Field3
FROM User
次に、5行前に戻りたい場合は、現在の行番号を取得し、次のクエリを使用して、currentrow-5の行を判別できます
SELECT us.Id
FROM (SELECT ROW_NUMBER() OVER (ORDER BY id) AS Row, Id
FROM User ) us
WHERE Row = CurrentRow - 5