Oracle數(shù)據(jù)庫如何獲取多條結果集中的第一條或某一條
這是sql
--獲取多條結果集中的第一條,通常會排下序之類的,隨你方便,如果你不排序直接用括號里的就行 select * from (select * from table where 1 = 1 order by value1) where rownum = 1;
這里解釋一下,為什么外邊要多套一層select,我猜你寫的sql應該是
select * from table where rownum = 1 order by value1;
但是你取到的應該不是你order by出來的第一條,因為sql執(zhí)行順序并不是真的從后往前讀,代碼會先讀 where 而不是 order by ,所以where rownum = 1的時候,實際上它就查出來一條,所以order by雖然執(zhí)行了,但并不是把結果集 order by 之后才抽出第一條。
那么怎么選擇結果集的其他條呢?
其實沒有找到太好的辦法,只能參考以下了
select * from ( select rownum id,t1.* from (select t2.* from t2 order by t2.某列) t1) where id=第幾條;
看起來很多層是吧,不要害怕,我一說你就懂了。
最里層的 t2 是用來把你想要的數(shù)據(jù)進行排序,
外一層的 t1 是用來給你排好序的數(shù)據(jù)加一列序號ID,
最外層的就是獲取你想要的某一條了,比如結果集有10條,你想要的第5條,那么 就把
where id=第幾條
寫成
where id = 5
就好了。
補充:Oracle分組取第一條數(shù)據(jù)
看看以前的私密日志,原來自己之前被很多小而簡單的問題困惑過!
看著那時候我們還是新手中的新手做的備忘筆記!
其實就是用了Oracle的統(tǒng)計函數(shù)而已!
以前的日記(看樣子應該是以前公司的源碼,呵呵……)如下:勿噴!
對多數(shù)據(jù)進行分組排序后取每組第一條記錄:
SELECT *
FROM (
SELECT ROW_NUMBER() OVER(
PARTITION BY ZA40011_3.URIAGE_DENPYO_NO,ZA40011_3.URIAGE_DENPYO_ROW_NO
ORDER BY ZA40011_3.KAKUTEI_SURYO_CS,
ZA40011_3.KAKUTEI_SURYO_BL,
ZA40011_3.KAKUTEI_SURYO_BT,
ZA40011_3.SYUKKA_SHIJI_NO,
ZA40011_3.SYUKKA_SHIJI_ROW_NO DESC) LEV,
ZA40011_3 .*
FROM WT_001_ZA40011_22070_2 ZA40011_2,
WT_001_ZA40011_22070_3 ZA40011_3,
JT_GYOMU_URIAGE_DETAIL URIAGE_DETAIL
WHERE
ZA40011_2.KAISYA_CODE = URIAGE_DETAIL.KAISYA_CODE
AND ZA40011_2.URIAGE_DENPYO_NO = URIAGE_DETAIL.URIAGE_DENPYO_NO
AND ZA40011_2.URIAGE_DENPYO_ROW_NO = URIAGE_DETAIL.ROW_NO
AND URIAGE_DETAIL.KAISYA_CODE = ZA40011_3.KAISYA_CODE
AND URIAGE_DETAIL.URIAGE_DENPYO_NO = ZA40011_3.URIAGE_DENPYO_NO
AND URIAGE_DETAIL.ROW_NO = ZA40011_3.URIAGE_DENPYO_ROW_NO
AND ZA40011_3.KEPPIN_RIYU_CODE IS NOT NULL
)
WHERE LEV = 1
-- ORDER BY KAKUTEI_SURYO_CS DESC總結
到此這篇關于Orcale數(shù)據(jù)庫如何獲取多條結果集中的第一條或某一條的文章就介紹到這了,更多相關Orcale獲取多條結果集中某一條內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
oracle實現(xiàn)一對多數(shù)據(jù)分頁查詢篩選示例代碼
這篇文章主要給大家介紹了關于oracle實現(xiàn)一對多數(shù)據(jù)分頁查詢篩選的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-11-11
如何使用GDAL庫的ogr2ogr將GeoJSON數(shù)據(jù)導入到PostgreSql中
本文主要介紹了PyTorch中的masked_fill函數(shù)的基本知識和使用方法,masked_fill函數(shù)接受一個輸入張量和一個布爾掩碼作為主要參數(shù),掩碼的形狀必須與輸入張量相同,掩碼操作根據(jù)掩碼中的布爾值在輸出張量中填充指定的值或保留輸入張量中的值2024-10-10
使用Navicat Premium連接Oracle的方法步驟
這篇文章主要介紹了使用Navicat Premium連接Oracle的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03
詳解Oracle 中實現(xiàn)數(shù)據(jù)透視表的幾種方法
這篇文章主要介紹了詳解Oracle 中實現(xiàn)數(shù)據(jù)透視表的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04

