日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle分页查询前10条,Oracle查询前十条记录及分页查询(第5条到第10记录)

發布時間:2024/9/15 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle分页查询前10条,Oracle查询前十条记录及分页查询(第5条到第10记录) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle查詢前10條記錄及分頁查詢(第5條到第10記錄)

如果你想了解Oracle查詢前10條記錄的相關實際應用方案的話,你就可以點擊以下的文章對其在實際相關操作中的正確用法,有一個更加完善的認識,希望你在瀏覽完以下的文章會以下就是正文的詳細內容的介紹。

在Oracle怎樣查詢表中的top10條記錄呢?

select?*

from?test

where?rownum?<=10

下面是關于rownum的介紹

Rownum和row_number() over()的使用

ROWNUM是Oracle從8開始提供的一個偽列,是把SQL出來的結果進行編號,始終從1開始,常見的用途就是用來分頁輸出.

比如

SELECT?*

FROM?torderdetail?a

WHERE?ROWNUM?<=?10

這條語句就是輸出前10條紀錄,在這里用途上類似于sql sever的top,不過rownum對于指定編號區間的輸出應該說更強大

SELECT?*

FROM?(SELECT?a.*,?ROWNUM?rn

FROM?torderdetail?a)

WHERE?rn?>=?10?AND?rn?<=?20

這條語句即是輸出Oracle查詢第10到第20條紀錄,這里之所以用rownum rn,是把rownum轉成實例,因為rownum本身只能用 <=的比較方式,只有轉成實列,這樣就可做 >=的比較了。

在實際用途中,常常會要求取最近的幾條紀錄,這就需要先對紀錄進行排序后再取rownum <=

一般常見的

SELECT?*

FROM?(SELECT?a.*

FROM?torderdetail?a

ORDER?BY?order_date?DESC)

WHERE?ROWNUM?<=?10

而在CSDN曾經發生過討論,關于取近的10條紀錄,有人給出這樣的語句

SELECT?a.*

FROM?torderdetail?a

WHERE?ROWNUM?<=?10

ORDER?BY?order_date?DESC

之所以會出現這樣的語句,主要是從效率上的考慮,前面條語句,是要進行全表掃描后再排序,然后再取10條紀錄,后一條語句則不會全表掃描,只會取出10條紀錄,很明顯后條語句的效率會高許多。

那為什么會有爭議呢,那就在于在執行順序上爭議,是先執行排序取10條紀錄,還是取10條紀錄,再排序呢?兩種順序取出來的結果是截然相反的,Oracle查詢前10條記錄時先排序再取10條,就是取最近的10條,而先取10條,再排序,則取出的最早的10條紀錄。對于此語句,普遍的認為執行順序是先取10條紀錄再排序的。

所以此語句應該是錯誤。但實際上并非如此,此語句的執行順序和order by的字段有關系,如果你order by 的字段是pk,則是先排序,再取10條(速度比第一種語句快),而排序字段不是PK 時,是先取10條再排序,此時結果就與要求不一樣了,所以第二種寫法一定要在排序字段是主鍵的情況下才能保證結果正確。

Row_number() over()這個分析函數是從9I開始提供的,一般的用途和rownum差不多。

一般寫法row_number() over( order by order_date desc) 生成的順序和rownum的語句一樣,效率也一樣(對于同樣有order by 的rownum語句來說),所以在這種情況下兩種用法是一樣的。

而對于分組后取最近的10條紀錄,則是rownum無法實現的,這時只有row_number可以實現,row_number() over(partition by 分組字段 order by 排序字段)就能實現分組后編號,比如說要取近一個月的每天最后10個訂單紀錄

SELECT?*

FROM?(SELECT?a.*,

ROW_NUMBER?()?OVER?(PARTITION?BY?TRUNC?(order_date)?ORDER?BY?order_date?DESC)

rn

FROM?torderdetail?a)

WHERE?rn?<=?10

Rownum的另類用法,有時候我們會遇到這種需求,要求輸出當月的所有天數,許多人會煩惱,數據庫里又沒有這樣的表,怎么輸出一個月的所有天數呢?用rownum就能解決:

SELECT?TRUNC?(SYSDATE,?'MM')?+?ROWNUM?-?1

FROM?DUAL

CONNECT?BY?ROWNUM?<=?TO_NUMBER

(TO_CHAR?(LAST_DAY?(SYSDATE),?'dd'))

以上的相關內容就是對Oracle查詢前10條記錄的介紹。

綜上所述:oracle查詢第5條到第10記錄分頁查詢為:

select * from (select a.*,rownum rn from (select * from scott.emp) a where rownum<=10) where rn>=5;

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

總結

以上是生活随笔為你收集整理的oracle分页查询前10条,Oracle查询前十条记录及分页查询(第5条到第10记录)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久久久亚洲精品中文字幕 | 亚洲一二三av | 亚洲青涩网| 欧美午夜精品一区二区 | 国产乱码一区二区三区在线观看 | 草久网 | 伊人春色视频 | 国产视频网站在线观看 | 大陆明星乱淫(高h)小说 | 嫩草影院在线观看视频 | 国产女人爽到高潮a毛片 | 国产精品免费在线 | 日本泡妞xxxx免费视频软件 | 国产91在线观看 | 天天操天天插天天干 | 91网站视频在线观看 | 男男play呻吟动漫网站 | 亚洲精品中文字幕乱码三区 | 亚洲美女高潮久久久 | 亚欧洲乱码视频 | 永久在线| 国产麻豆剧传媒精品国产av | 国产精品一线天粉嫩av | 三级欧美视频 | 激情内射人妻1区2区3区 | 国产第99页 | 日韩第一视频 | 久久er99热精品一区二区介绍 | 国产15页 | 97久久精品视频 | 免费看片视频 | 国产精品欧美性爱 | 四虎国产精品永久免费观看视频 | 挪威xxxx性hd极品 | 在线观看wwww | 中文字幕亚洲无线码在线一区 | 三级a视频| 午夜影院在线免费观看 | 超碰免费成人 | www夜色 | 午夜蜜桃视频 | 日韩精品一二三四区 | 少妇一级淫免费播放 | 狠狠精品干练久久久无码中文字幕 | 97自拍偷拍视频 | 中文字幕一区二区三区手机版 | 波多野结衣一区二区三区中文字幕 | 亚洲熟妇国产熟妇肥婆 | 一级视频在线观看 | 噼里啪啦高清 | 在线国产91 | 国产成人免费在线视频 | 一级片一区二区三区 | 四虎网站在线播放 | 国产精品永久免费观看 | 久久婷婷综合国产 | 日韩中文字幕 | 日本中文字幕在线观看视频 | 激情av| 国产不卡精品视频 | asian日本肉体pics| 免费毛片一区二区三区 | 蜜臀视频一区二区 | 娇妻之欲海泛舟无弹窗笔趣阁 | 一级a毛片免费观看久久精品 | 亚洲男人网 | 亚洲第8页 | 成年人免费在线观看网站 | 色a在线 | 国产精品亚洲精品 | 午夜影剧院 | 欧美黑人性生活 | 久久精品视频中文字幕 | 欧美一级淫 | 福利视频不卡 | 优优色影院 | 丁香视频在线观看 | 青青草原一区二区 | 91成人在线免费观看 | 老头把女人躁得呻吟 | 久久精品国产免费 | 少妇真实被内射视频三四区 | 国产精品一区在线播放 | 91热爆视频 | 特级新鲜大片片 | 乳女教师の诱惑julia | 亚洲欧美日韩在线播放 | 欧美丰满老妇熟乱xxxxyyy | 青青青国内视频在线观看软件 | 99久久久无码国产精品免费 | 爱爱91 | 国产成人无码精品 | 亚洲v国产v欧美v久久久久久 | 亚洲成人午夜影院 | 久久精品牌麻豆国产大山 | 久久久精品动漫 | 亚洲精品91在线 | 99久久久久久 | 午夜国产片 |