首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在teradata中实现lag函数。

如何在teradata中实现lag函数。
EN

Stack Overflow用户
提问于 2018-07-26 20:50:39
回答 2查看 1.1K关注 0票数 0

输入:

输出:

我想要如下图所示的输出。

在输出图像中,“落后”中的4被评估为tot_cnt-tot,而“落后”中的后续数字,例如:2被评估为滞后(落后)-tot&只要“排名”保持不变,即使“落后”也应该保持不变。

有没有人能帮我在teradata中实现这个?

EN

回答 2

Stack Overflow用户

发布于 2018-07-26 21:04:24

您似乎想要:

代码语言:javascript
复制
select *, (select count(*) 
           from table t1 
           where t1.rank > t.rank
          ) as behind
from table t;
票数 1
EN

Stack Overflow用户

发布于 2018-07-26 21:45:33

我将总结数据并执行以下操作:

代码语言:javascript
复制
select id, max(tot_cnt), max(tot),
       (max(tot_cnt) -
        sum(max(tot)) over (order by id rows between unbounded preceding and current row)
       ) as diff
from t
group by id;

这为每个id提供了一行,这对我来说更有意义。如果您想要原始数据行(无论如何都是重复的),您可以将其join回表中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51539271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档