LQTY中文网
MYSQLLAG()与LEAD()的区别
发布日期:2025-01-04 11:19    点击次数:146
  这两个函数是偏移量函数,可以查出一个字段的前面N个值或者后面N个值,配合over来使用。 下面举例说明,新建表格如下:  1.lag() 语法:lag(expr,N,default) expr:它可以是列或任何内置函数。N:它是一个正值,它确定当前行之前的行数。如果在查询中将其省略,则其默认值为1default:如果在当前行之前没有行N行的情况下,它是函数返回的默认值。如果缺少,则默认为NULL。 可以看到所有的start_time都等于前面一个的start_time,前面没有的填充NULL,设置lag()里面的参数为2,可以看到所有的uid偏移了两个。 根据uid分组对start_time向前移动2个单元,然后设置NULL值默认填充为0. 可以自己体会一下数据的移动方式。 2.lead() 语法:lead(expr,N,default) expr:它可以是列或任何内置函数。N:它是一个正值,它确定当前行之后的行数。如果在查询中将其省略,则其默认值为1default:如果在当前行之后没有行N行的情况下,它是函数返回的默认值。如果缺少,则默认为NULL。 可以看到所有的start_time都等于后面一个的start_time,后面没有的填充NULL,设置lead()里面的参数为2,可以看到所有的uid都等于后面第二个的uid。  还可以根据uid进行分组,然后再进行偏移。 到此这篇关于MYSQL LAG()与LEAD()的区别的文章就介绍到这了,更多相关MYSQL LAG() LEAD()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!