2 回答

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
rownum是oracle預(yù)處理字段,默認(rèn)標(biāo)序是1,只有記錄集已經(jīng)滿足條件后才會(huì)進(jìn)行后續(xù)編號(hào)。由于第一條記錄rownum默認(rèn)是1,而你的條件是rownum>=6 對(duì)第一條記錄比較它的rownum肯定不大于6 所以不滿足條件 oracle舍棄第一條記錄將數(shù)據(jù)庫(kù)第二條記錄標(biāo)序?yàn)?再進(jìn)行比較 肯定都不滿足rownum>=6 這樣循環(huán)也就是說(shuō)由于沒(méi)有記錄滿足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

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊
select * from 表 where rownum >= 1 and rownum <= 100
其中,1和100是自己指定的查詢范圍。
添加回答
舉報(bào)