MySQL lag和lead函数实现

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正序

你可能感兴趣的:(MySQL lag和lead函数实现)