簡體   English   中英

如何獲取以前的記錄信息

[英]How to get previous record information

我需要檢索Random_1,Random_2,Random_3列我的其他表正在加入日期鍵9/25/2016的數據。 我還需要查看2016年9月22日的Random_1,Random_2,Random_3。 我想知道如何從我的加入日期密鑰說出任何日期可能會顯示我以前的記錄信息。 日期是日期,我使用的是Oracle(日期會發生變化)

怎么辦呢? 例如,請參閱鏈接

要將Random_1拉到上一個日期,您可以使用LAG()函數,如下所示:

select ... ,  lag(t1.random_1) over (order by t1.date_key), .....
from  table1 t1 join table2 t2 on t1.date_key = t2.date_key
...

(和其他列相同)。 請注意,對於最早的行, LAG()的結果當然是NULL - 因為沒有“previous”值。 如果您想要第一行的其他內容,請將所有內容包裝在COALESCE()

另外,如果你有id “某種S和您加入id為好,那么你不希望為不同的ID的日期混合在一起。 除了按日期排序之外, LAG()函數(以及幾乎所有其他分析函數)允許您partition by id進行partition by id 您可以閱讀Oracle文檔中的定義和示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM