程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql的lag和Lead函數

mysql的lag和Lead函數

編輯:MySQL綜合教程

mysql的lag和Lead函數


1、mysql中沒有lag和lead函數,因為Oracle使用慣了,沒有這函數有些不方便。於是琢磨能不能實現。

2、如果用函數,肯定可以實現。但如果不用函數,是否能夠實現呢?經過試驗,發現可以達到目的。

對於lag函數,可以這麼寫

select @lagfield,@lagfiled:=targField,t.* from table t ,(select @lagfield:='') r

3、其中targField是你想要在下一行呈現的字段,根據字段是字符還是數字,最後的select 應該不同,

1)如果是數字,則應該(select @lagfield:=0) r,

2)如果字符,則就是例子中的

4、對於lead,正好可以相反,可以四步走

1)生成rownum

2)根據rownum倒序

3)按照lag方式實現

4)在按照rownum正序

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved