表的結構如下:
staff_no staff_name ***
--------- ----------- ----
001 張三 男
002 李四 男
003 王五 男
如要查詢staffno是002的前一條記錄
select * from staff where staff_no=(select c.p from (select staff_no,lag(staff_no,1,0) over (order by staff_no) as p from staff) c where c.staff_no='002')
結果:staff_no staff_name ***
--------- ----------- ----
001 張三 男
如要查詢其後一條記錄
select * from staff where staff_no=(select c.n from (select staff_no,lead(staff_no,1,0) over (order by staff_no) as n from staff) c where c.staff_no='002')
結果:staff_no staff_name ***
--------- ----------- ----
003 王五 男
查詢第一條
select * from (select s.*,row_number()over(order by staff_no ) rn from staff s) where rn=1 ;
查詢最後一條
select * from (select s.*,row_number()over(order by staff_no desc ) rn from staff s) where rn=1 ;
Mysql 查詢當前資料上一條和下一條的記錄
獲取當前檔案上一條與下一條記錄的原理是上一條的sql語句,從news表裡按從大到小的順序選擇一條比當前id小的新聞,下一條的sql語句,從news表裡按從小到大的順序選擇一條比當前id大的新聞。如果id是主鍵或者有索引,可以直接查詢 方法1 sql view plain copy 1.select ...
Mysql 查詢當前資料上一條和下一條的記錄
獲取當前檔案上一條與下一條記錄的原理是上一條的sql語句,從news表裡按從大到小的順序選擇一條比當前id小的新聞,下一條的sql語句,從news表裡按從小到大的順序選擇一條比當前id大的新聞。如果id是主鍵或者有索引,可以直接查詢 方法1 1.select from table a where i...
Oracle不連續的值,如何實現查詢上一條 下一條
檢視得知,資料庫中用於查詢的字段 主鍵 是不連續的。如上圖所示 stxh為主鍵number型別。下一條 select nowid,afterid from select stxh nowid,lead stxh,1 over order by stxh as afterid from exm kst...