MySQL lag和lead函数实现

2017-08-01  本文已影响853人  我念东风终不负

lag实现如下

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

其中targField是你想要在下一行呈现的字段,根据字段是字符还是数字,最后的select 应该不同,
1)如果是数字,则应该(select @lagfield:=0) r,
2)如果字符,则就是例子中的

lead,正好可以相反,可以四步走
1)生成rownum
2)根据rownum倒序
3)按照lag方式实现
4)在按照rownum正序

上一篇下一篇

猜你喜欢

热点阅读