lag函数 获取第一行到当前行的范围
时间: 2023-11-26 14:02:41 浏览: 77
如果您要获取第一行到当前行的范围内的数据,您可以使用LAG函数中的窗口函数。在窗口函数中,您可以使用ROWS BETWEEN子句来指定窗口范围。
以下是使用LAG函数获取第一行到当前行的范围内的数据的示例:
```
SELECT col1, col2,
LAG(col3, 3) OVER (ORDER BY id ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS col3_lag_range
FROM your_table;
```
在上面的查询中,我们使用LAG函数获取当前行前3行的col3值,并使用ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW子句指定窗口范围为第一行到当前行。ORDER BY子句用于指定按照哪个列排序。
如果您使用的是MySQL 8.0或更高版本,则可以使用ROWS BETWEEN子句来指定窗口范围。以下是使用ROWS BETWEEN子句的示例:
```
SELECT col1, col2,
LAG(col3, 3) OVER (ORDER BY id ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS col3_lag_range
FROM your_table;
```
在上面的查询中,我们使用LAG函数获取当前行前3行的col3值,并使用ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW子句指定窗口范围为第一行到当前行。ORDER BY子句用于指定按照哪个列排序。
阅读全文