2 回答

喵喔喔
TA貢獻1735條經(jīng)驗 獲得超5個贊
rownum是oracle預處理字段,默認標序是1,只有記錄集已經(jīng)滿足條件后才會進行后續(xù)編號。由于第一條記錄rownum默認是1,而你的條件是rownum>=6 對第一條記錄比較它的rownum肯定不大于6 所以不滿足條件 oracle舍棄第一條記錄將數(shù)據(jù)庫第二條記錄標序為1再進行比較 肯定都不滿足rownum>=6 這樣循環(huán)也就是說由于沒有記錄滿足rownum>=6所以記錄一直被舍棄,rownum一直是1 。
排序方法:
select * from (
select a1.*, rownum rwn from emp a1 where rownum <=10
) where rwn >= 6;
或者
select * from (
select qx.*,row_number() over(order by qx.empno) rwn from emp qx
) where rwn between 6 and 10
添加回答
舉報
0/150
提交
取消