I am using Between condition in ORACLE, to achieve pagination. I will sort data on CNT column in descending order to display most counted value first.
I am getting different row order with normal order by and row number order by.
Below is my data set:
PATTERN_TBL
PATTERN | CNT
1 | 3
Aaaa Aaa | 14
aaaaaa | 3
Normal Query:
SELECT PATTERN, CNT FROM PATTERN_TBL ORDER BY CNT DESC
PATTERN | CNT
Aaaa Aaa | 14
aaaaaa | 3
1 | 3
Between Query:
SELECT ROW_N, PATTERN,CNT FROM (SELECT
ROW_NUMBER() OVER ( ORDER BY CNT DESC) AS ROW_N,
PATTERN, CNT FROM PATTERN_TBL)
WHERE ROW_N BETWEEN 1 AND 100
PATTERN | CNT
Aaaa Aaa | 14
1 | 3
aaaaaa | 3
In the above two outputs, row #3 and row #2 are interchanging. I want to fix order. How can i do that?