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