第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Oracle數(shù)據(jù)庫的rownum為什么會出現(xiàn)這個問題?

Oracle數(shù)據(jù)庫的rownum為什么會出現(xiàn)這個問題?

慕運維8079593 2018-07-22 18:34:33
我有一個“親子關系”的一張表parentage:SQL> select * from parentage; FATHER     CHILD ---------- ---------- David      Cindy David      Tony Tom        Amy Tom        Bob Tom        Nick為了練習rownum關鍵字,我想輸出前兩行,如下語句可以正確運行:SQL> select * from parentage where rownum<=2; FATHER     CHILD ---------- ---------- David      Cindy David      Tomy但是但我想輸出第二行后面的所有行時,結果有異常:SQL>  select * from parentage where rownum>2; 未選定行系統(tǒng)提示未選定行,為什么呢?明明表中有5行啊?還有,我想輸出第二行和第三行時:SQL> select * from parentage where rownum between 2 and 3; 未選定行 SQL> select * from parentage where rownum>=2 and rownum<=3; 未選定行這是為什么呢?
查看完整描述

2 回答

?
慕森卡

TA貢獻1806條經(jīng)驗 獲得超8個贊

想要達到你的目的,可以這樣寫:

select?*?from?(??select?t.*,?rownum?as?rn?from?parentage?t
)?where?rn?>?2


查看完整回答
反對 回復 2018-07-25
?
Qyouu

TA貢獻1786條經(jīng)驗 獲得超11個贊

rownum是Oracle系統(tǒng)順序分配給查詢返回的行的編號,返回的第一行分配的是1,第二行是2,依此類推,這個偽字段可以用于限制查詢返回的總行數(shù),而且rownum不能以任何表的名稱作為前綴。

WHERE子句的操作,是篩選數(shù)據(jù),不滿足的去掉。
又因為,rownum是返回結果中的順序計數(shù),如果去掉一行,后面計數(shù)會全部-1;
所以,如果rownum >= 2,那么第一行就不滿足,去掉之后原來rownum = 2的行,現(xiàn)在成了rownum = 1,所以這樣一直到所有的行都被清完,仍然不會滿足。

所以,當所有的行清完都沒有滿足條件時,就會報錯:未選擇行。


查看完整回答
反對 回復 2018-07-25
  • 2 回答
  • 0 關注
  • 961 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號