Подкачка страниц в oracle с использованием row_number
I am doing pagination in oracle with Row_Number, I have 40 records in a table and I am applying paging on it(just for testing these are 40,in real they will be in millions). This is my query <pre lang="SQL"> SELECT * FROM (SELECT a.*, ROW_NUMBER() OVER (ORDER BY id) AS rnum FROM mytable)WHERE rnum BETWEEN ((:pageNumber-1) * :pageSize) and (:pageNumber * :pageSize)
Когда я запускаю его с pageNumber=1 и pageSize=3,он возвращает мне 3 записи, но когда я запускаю его с pageNumber=2 и pageSize=3, он возвращает мне 4 записи, включая одну запись из набора записей pagenumber=1.
Фактически, он возвращает 3 записи только на pagenumber=1;
Как я могу исправить эту проблему?Есть ли какой-нибудь альтернативный и лучший подход к пейджингу?Мое заявление находится в asp.net MVC, я не могу хранить записи в сеансе или кэше.
Что я уже пробовал:
Когда я запускаю его с pageNumber=1 и pageSize=3,он возвращает мне 3 записи, но когда я запускаю его с pageNumber=2 и pageSize=3, он возвращает мне 4 записи, включая одну запись из набора записей pagenumber=1.
Фактически, он возвращает 3 записи только на pagenumber=1;
Как я могу исправить эту проблему?Есть ли какой-нибудь альтернативный и лучший подход к пейджингу?Мое заявление находится в asp.net MVC, я не могу хранить записи в сеансе или кэше.