ORACLE中SQL取最後一條記錄的幾種方法

2021-05-12 07:02:00 字數 806 閱讀 2821

在etl過程中,經常會碰到取結果集的最後或最前一條記錄。如取活期存款的當前利率,開戶金額,協定利率等。如果不用lookup的方式,如通過游標取或者etl工具lookup元件什麼的,在一條sql裡實現,目前實現有幾種方法。

1.以時間或其他字段分組後在自連自己,這樣不僅可以帶出需要lookup的字段,還可以帶出其他需要的字段。

select a.cddpty cddpty,a.cdcurr cdcurr,a.cdvldt cdvldt,  

a.cdyrat cdyrat  

from dcppdata.tbbfmcdrt a inner join   

(select b.cddpty,b.cdcurr,max(b.cdvldt) cdvldt  

from dcppdata.tbbfmcdrt b  

group by b.cddpty, b.cdcurr) c   

on a.cddpty =c.cddpty  

and a.cdcurr =c.cdcurr  

and a.cdvldt =c.cdvldt 

2.用row_number() over(order by filedname)

select b.cddpty,b.cdcurr,  

row_number() over(order by b.cdvldt desc)  

from dcppdata.tbbfmcdrt b  

where rownum = 1 

ORACLE中SQL取最後一條記錄的幾種方法

在etl過程中,經常會碰到取結果集的最後或最前一條記錄。如取活期存款的當前利率,開戶金額,協定利率等。如果不用lookup的方式,如通過游標取或者etl工具lookup元件什麼的,在一條sql裡實現,目前實現有幾種方法。1.以時間或其他字段分組後在自連自己,這樣不僅可以帶出需要lookup的字段,還...

取最後一條插入的資料

a2 hl x 10 09 14 排序後取最後一條啊 a2 hl x 10 09 39 你的id是遞增的還是隨機 a1 10 10 08 遞增a2 hl x 10 09 14 排序後取最後一條啊 a2 hl x 10 10 30 那就select max id from table a3 xx 10...

sql 取最新一條記錄

1.選出某個條件最新的一條記錄 選出最新狀態下的每乙個單號對應的子單資料 select distinct a.receiving code,a.product barcode,a.rd putaway qty from odoo ykd oversea shipping information a ...