Untuk pertanyaan pertama, kenapa tidak pakai saja?
SELECT COUNT(*) FROM myTable
untuk mendapatkan hitungan.
Dan untuk pertanyaan kedua, kunci utama dari baris adalah apa yang harus digunakan untuk mengidentifikasi baris tertentu. Jangan mencoba dan menggunakan nomor baris untuk itu.
Jika Anda mengembalikan Row_Number() dalam kueri utama Anda,
SELECT ROW_NUMBER() OVER (Order by Id) AS RowNumber, Field1, Field2, Field3
FROM User
Kemudian ketika Anda ingin mundur 5 baris maka Anda dapat mengambil nomor baris saat ini dan menggunakan kueri berikut untuk menentukan baris dengan baris saat ini -5
SELECT us.Id
FROM (SELECT ROW_NUMBER() OVER (ORDER BY id) AS Row, Id
FROM User ) us
WHERE Row = CurrentRow - 5