首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL中使用CASE语句拉取前一周

在SQL中使用CASE语句拉取前一周
EN

Stack Overflow用户
提问于 2020-10-07 00:21:06
回答 1查看 47关注 0票数 0

我正在尝试用前一周的销售额做一个新的列,如果是这段时间的第一周,那么就是0。

这只是返回所有的0。有什么建议吗?

代码语言:javascript
复制
SUM(CASE 
    WHEN GMR.AMC_WEEK <> 1 AND GMR.AMC_WEEK = GMR.AMC_WEEK -1 THEN GMR.NET_SALES_AMT
    ELSE 0 END) AS PREV_WK_SLS,
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-07 00:22:22

您不能将case用于此目的。我猜你想要一个这样的:

代码语言:javascript
复制
lag(GMR.NET_SALES_AMT, 1, 0) over (order by amc_week)

或者:

代码语言:javascript
复制
lag(sum(GMR.NET_SALES_AMT), 1, 0) over (order by amc_week)

不同之处在于数量是否真的需要聚合。

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

https://stackoverflow.com/questions/64229907

复制
相关文章

相似问题

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