odps sql 中 lag函数不能用 ignore nulls 参数怎么版
时间: 2024-02-27 20:54:27 浏览: 169
阿里云odpsSql手册1
5星 · 资源好评率100%
如果在ODPS SQL中使用LAG函数时,不能使用IGNORE NULLS参数,那么可以考虑使用子查询来实现类似的功能。具体实现方法如下:
首先,使用LAG函数来获取上一行的值:
```
SELECT
column1,
column2,
LAG(column3) OVER (ORDER BY column4) AS prev_column3
FROM
table_name;
```
然后,在外部查询中使用CASE语句来判断prev_column3是否为NULL,如果为NULL,则将其替换为当前行的column3的值:
```
SELECT
column1,
column2,
CASE WHEN prev_column3 IS NULL THEN column3 ELSE prev_column3 END AS prev_column3
FROM
(SELECT
column1,
column2,
column3,
LAG(column3) OVER (ORDER BY column4) AS prev_column3
FROM
table_name) t;
```
这样就可以实现类似于LAG函数中IGNORE NULLS参数的功能了。
阅读全文