我正在使用 LAG 函式回傳以前的記錄。由于關于日期的記錄不一定是連續的,我決定走 LAG 路線(如果有更好的方法,請分享)。我遇到的問題是,當我每個專案只想要一個時,它會給我所有記錄。如何限制結果?
這是每個說的專案 a 的資料集:
| 訂單號 | 賬單日期 | DiscountRecNo | 物品 |
|---|---|---|---|
| 0646546541 | 2021 年 12 月 12 日 | 4654064 | 4656 |
| 4651132066 | 2021 年 10 月 13 日 | 8984653 | 4655 |
| 4654113866 | 2021 年 11 月 13 日 | 6464651 | 4656 |
| 9865413488 | 2021 年 8 月 5 日 | 5461984 | 4655 |
對于這個例子,我只想要專案 4655 的 PO 編號 9865413488 和 4656 的 4654113866。
這就是我所擁有的
LAG(LT.CondRecNo, 1, 0) OVER(ORDER BY LT.BillingDate DESC) AS PREVIOUSCONDRECNO
uj5u.com熱心網友回復:
看來您不需要 lag() 只需要 row_number()
with cte as
(select *,row_number()over(partition by item order by BillingDate) rn
) select a.* from cte whre rn=1
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/424983.html
