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

2021-08-14 05:28:19 字數 902 閱讀 2363

!--獲取上一條記錄,若沒有記錄則值為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;

執行結果,最右邊多了一行,是每一條記錄上一條記錄的news_id

!--具體運用,可以獲取下一條記錄的news_id

select nid from

(select n.*,lead(news_id,1,0) over(order by news_id asc) nid from news n

)a where news_id = 3

!--獲取下一條記錄,這裡不再追述

!--具體運用,可以獲取上一條記錄的news_id

select nid from

(select n.*,lead(news_id,1,0) over(order by news_id asc) nid from news n

)a where news_id = 3

上一條記錄下一條記錄

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獲取上一條記錄的資訊

該方法可用於計算兩個相鄰日期間的間隔,如可用來計算使用者活躍度,看出每個使用者多次下單中的每兩次之間的時間間隔,用以劃分使用者 如很活躍,活躍等,還可以看出使用者的大致購買時間間隔,對於超出時間間隔未再次下單的使用者 沉睡使用者 可想辦法進行喚醒等。as rn 先通過row number函式建立乙個...

php 上一條 下一條 記錄 前移 後移

function row entphoto id 0 function lst return arr 獲取排在前面的行 function rowprev entphoto id 0 是否最前面的記錄 function isfirst entphoto id 0 獲取排在後面的行 function r...