SELECT?*?FROM?(?SELECT?A.*,?ROWNUM?RN?FROM?(
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:申請域名、虛擬主機、營銷軟件、網(wǎng)站建設(shè)、津南網(wǎng)站維護、網(wǎng)站推廣。
select?rownum?no?,id,title,pic1,classid,show?from?gouwu_news?
where?classid=1?and?show=1
order?by?seq?asc,adddate?asc
)?A?WHERE?ROWNUM?=?2?)?WHERE?RN??1
能表達的清楚些么?要查一條數(shù)據(jù),用where條件總是能查的,如果是已經(jīng)是一個結(jié)果集,要在結(jié)果集中將第二條數(shù)據(jù)取出來,那么你得先開窗函數(shù)dense_rank()over(partition by XXX order by YYY desc/asc) tn然后取tn=2的值。
具體可以百度下:
dense_rank()
over()
partition by
還有:
select * from(
select t.*,rownum rn from
(select e.* from emp e order by e.sal desc) t ) where rn = 2;
希望能對你有所幫助
如果是精確查詢,都一樣大,沒必要區(qū)分。如果是模糊查詢,比如表test,關(guān)鍵子所在的字段在a列,可嘗試下面的sql
select t.a
from (select a, rownum rn
from test
where a like '%關(guān)鍵字%'
--and rownum = 2
order by a desc) t
where rn = 2
一、rownum的說明
rownum是oracle特有的一個關(guān)鍵字。
(1)對于基表,在insert記錄時,oracle就按照insert的順序,將rownum分配給每一行記錄,因此在select一個基表的時候,rownum的排序是根據(jù)insert記錄的順序顯示的,例如:
(2)對于子查詢,則rownum的順序是根據(jù)子查詢的查詢順序進行動態(tài)分配的,例如:
由上圖可以看到T1_RN和T2_RN的區(qū)別。
t1中的rownum是根據(jù)emp這個基表的默認(rèn)順序分配的,而內(nèi)層子循環(huán)是根據(jù)SAL字段進行排序,所以t2的rownum是根據(jù)內(nèi)層子查詢的記錄順序分配的。
----------------------------- 分 割 線 -------------------------------------
二、rownum的一些使用技巧
(1)使用rownum限制查詢返回的記錄數(shù)
1、例如,我們現(xiàn)在只想看到emp表中的第一條記錄:
將rownum限制為1,這樣就只能查詢出一條記錄。
2、現(xiàn)在,我們現(xiàn)在想查看emp中的前2條記錄:
將rownum的限制為2條,這樣就可以查詢出前2條記錄。
3、假如我們現(xiàn)在只想查看emp中的第二條記錄,又該如何寫語句呢?
如果我們先這樣寫:
where條件為:rownum=2,來看看查詢結(jié)果:
發(fā)現(xiàn)沒有查出任何數(shù)據(jù),為什么呢?這里就要對oracle的rownum做進一步的理解。
因為rownum并不是當(dāng)作實體數(shù)據(jù)存放在每一張表中,而是在每一次select查詢的時候,根據(jù)基表的默認(rèn)insert順序由oracle動態(tài)分配的,有1才有2,如果rownum沒有1,那么2也就沒有了意義,所以這個查詢就不會有任何結(jié)果出來。這個時候我們就需要利用子查詢和別名列來實現(xiàn)這個需求:
首先通過子查詢,取出emp表的前2條記錄,并將子查詢中的rownum定義為別名rn,然后在外層查詢中,使用where條件使rn=2即可,查詢出emp表的第二條記錄:
本文題目:oracle如何查第二條 oracle查詢前兩條數(shù)據(jù)
當(dāng)前鏈接:http://www.rwnh.cn/article34/hiihpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、用戶體驗、網(wǎng)頁設(shè)計公司、云服務(wù)器、品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)