Oracle之--ROW_NUM()函數(shù)

ROW_NUM()的基礎(chǔ)用法
row_num()是對結(jié)果集添加的一個偽列,是先按某種條件查詢出結(jié)果集之后又添加上的一個列;所以它總是從1開始,因此在使用的過程中需要謹(jǐn)慎使用>,>=,=,between...and這些條件;如下語句,執(zhí)行此條語句你會發(fā)現(xiàn)就算表中有數(shù)據(jù),查出的結(jié)果集也是空,是因為當(dāng)取出第一條數(shù)據(jù),此時ROWNUM = 1,不滿足ROWNUM > 10的條件,一次舍去,再取出下一條數(shù)據(jù)此時ROWNUM還會被賦值為1,依次類推,取到最后也還是沒有.
SELECT ROWNUM,t.KAIHGUIY FROM t WHERE ROWNUM >10
同時你會發(fā)現(xiàn)下面這兩條返回的結(jié)果是相同的
SELECT ROWNUM,t.KAIHGUIY FROM t WHERE ROWNUM !=10
SELECT ROWNUM,t.KAIHGUIY FROM t WHERE ROWNUM <10

如何解決上面出現(xiàn)的問題呢?

嵌套語句,在內(nèi)層語句中提前把虛擬列都放好,在外層在根據(jù)虛擬列條件查詢
SELECT*FROM (SELECT ROWNUM AS rn,t.KAIHGUIY FROM t) WHERE rn> 100
ROW_NUM()的其他用法
分組去重,內(nèi)層使用over函數(shù)分組,外層使用"topFileId" = 1實現(xiàn)去重功能
select 
    "t"."PRODUCT_ID", 
    "t"."PRODUCT_NAME"
  from (
    select 
      row_number() over (partition by "crd"."APPLY_NUMBER", "crd"."INPUT_IDCARD" order by "crd"."CREATE_TIME" desc) as topFileId, 
      "crd"."CREATE_TIME", 
      "crd"."PRODUCT_ID", 
      "crd"."PRODUCT_NAME", 
      "crd"."INPUT_IDCARD"
    from "crd"
    where "CRD_DATA_WARNING"."CREATE_TIME" between to_date('2021-01-05 00:00:00', 'yyyy-MM-dd hh24:mi:ss') and to_date('2021-02-05 23:59:59', 'yyyy-MM-dd hh24:mi:ss')
  ) "t"
  where "topFileId" = 1
ROWNUM 和 ROWID雖都被稱為偽列,但它們的存在方式是不一樣的五续,rowid 可以說是物理存在的兵拢,表示記錄在表空間中的唯一位置ID正蛙,在DB中唯一然想。只要記錄沒被搬動過温治,rowid是不變的扯罐。rowid 相對于表來說又像表中的一般列陆赋,所以以 rowid 為條件就不會有 rownum那些情況發(fā)生。另外還要注意:rownum不能以任何基表的名稱作為前綴
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鸠信,一起剝皮案震驚了整個濱河市纵寝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌星立,老刑警劉巖爽茴,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異贞铣,居然都是意外死亡闹啦,警方通過查閱死者的電腦和手機沮明,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門辕坝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人荐健,你說我怎么就攤上這事酱畅。” “怎么了江场?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵纺酸,是天一觀的道長。 經(jīng)常有香客問我址否,道長餐蔬,這世上最難降的妖魔是什么碎紊? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮樊诺,結(jié)果婚禮上仗考,老公的妹妹穿的比我還像新娘。我一直安慰自己词爬,他們只是感情好秃嗜,可當(dāng)我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著顿膨,像睡著了一般锅锨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上恋沃,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天必搞,我揣著相機與錄音,去河邊找鬼囊咏。 笑死顾画,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的匆笤。 我是一名探鬼主播研侣,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼炮捧!你這毒婦竟也來了庶诡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤咆课,失蹤者是張志新(化名)和其女友劉穎末誓,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體书蚪,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡喇澡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了殊校。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晴玖。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖为流,靈堂內(nèi)的尸體忽然破棺而出呕屎,到底是詐尸還是另有隱情,我是刑警寧澤敬察,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布秀睛,位于F島的核電站,受9級特大地震影響莲祸,放射性物質(zhì)發(fā)生泄漏蹂安。R本人自食惡果不足惜椭迎,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望田盈。 院中可真熱鬧侠碧,春花似錦、人聲如沸缠黍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瓷式。三九已至替饿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贸典,已是汗流浹背视卢。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留廊驼,地道東北人据过。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像妒挎,于是被迫代替她去往敵國和親绳锅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容