SQL獲取上一條記錄的資訊

2021-10-08 01:52:57 字數 1640 閱讀 5079

該方法可用於計算兩個相鄰日期間的間隔,如可用來計算使用者活躍度,看出每個使用者多次下單中的每兩次之間的時間間隔,用以劃分使用者(如很活躍,活躍等,),還可以看出使用者的大致購買時間間隔,對於超出時間間隔未再次下單的使用者(沉睡使用者),可想辦法進行喚醒等。

)as rn —先通過row_number函式建立乙個排序標識,然後再通過這個標識做join

from emp)

select a.deptno,a.hiredate,b.hiredate as last_day

from t1 a

left

join t1 b

on a.deptno = b.deptno

and a.rn = b.rn +

1order

by deptno,hiredate;

select a.deptno,a.hiredate,b.hiredate as last_day

from

(select deptno,hiredate,

row_number(

)over

(partition

by deptno order

by hiredate asc

)as rn

from emp ) a

left

join

(select deptno,hiredate,

row_number(

)over

(partition

by deptno order

by hiredate asc

)as rn

from emp ) b

on a.deptno = b.deptno and a.rn = b.rn +

1order

by deptno,hiredate;

兩者其實是乙個意思,得到的結果如下:

Oracle獲取上一條記錄或上一條記錄函式

獲取上一條記錄,若沒有記錄則值為0,其中 lag news id,1,0 news id為根據哪乙個字段進行檢查,1 為每次偏移量,0 為沒有上一條時的返回值 select n.lag news id,1,0 over order by news id asc nid from news n 執行結...

上一條記錄下一條記錄

select top 1 from 表 where id 當前id order by id desc select top 1 from 表 where id 當前id order by id desc 上一條記錄 select top 1 blogid from gcc bloginfo wher...

SQL查詢當前資料上一條和下一條的記錄

id是指當前資料news id引數 方法一 string presql select top 1 from news where news id id order by news id desc string nextsql select top 1 from news where news id ...