首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Oracle SQL中按重叠日期选择对数据进行分组

在Oracle SQL中按重叠日期选择对数据进行分组
EN

Stack Overflow用户
提问于 2019-12-01 16:59:48
回答 1查看 218关注 0票数 0

我想知道是否有一种有效的方法对数据特定的重叠时间框架进行分组。我掌握这个练习的主要目的是查询这个表:

代码语言:javascript
复制
transaction_date  | item_type | profit
  'dd/mm/yy'            ""        ''

示例:

代码语言:javascript
复制
transaction_date  | item_type | profit
  03/01/2018           Book        2
  03/05/2018           Book        5
  04/05/2018           Book        6
  03/06/2018           Misc.       20

并获得

(1)按周和年份分组,这样查询就有了“年份”的“日期”。

--这已经通过简单地使用group与下面的行一起成功地完成了

代码语言:javascript
复制
to_char(transaction_date, 'YY'), to_char(transaction_date, 'WW')

这与item_type和利润的其他期望分组一样,提供了

代码语言:javascript
复制
year | week  | item_type | profit
 18     17        Book        2
 18     18        Book       11
 18     22        Misc       20

(2)增加一栏,其利润为过去4周(如果某一条目在第7周,则为3-6周的总数,而不是4周前的总数)。

代码语言:javascript
复制
year | week  | item_type | profit  | profit_last4wks
 18     17        Book        2           0
 18     18        Book       11           2
 18     22        Misc       20           0

这个步骤是的问题,因为我现在非常困惑如何处理它,以及作为第一步应该从哪里开始。任何建议,或指向正确方向的一点都将是非常有益的。

我想在不同的查询和连接中执行步骤(1)和(2),但即使分别获得(2)也使我感到困惑。我还认为,可以先获得(1),然后以某种方式追加所需的列。

EN

回答 1

Stack Overflow用户

发布于 2019-12-01 18:10:07

正如数学家所说,你是按2 to_char函数进行分组,加上item_type。要获取profit_last4weeks数据,您需要使用SUM函数的解析版本,查看分析条款的医生总和

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

https://stackoverflow.com/questions/59127836

复制
相关文章

相似问题

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