首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子查询中进一步按周数分组

子查询中进一步按周数分组
EN

Stack Overflow用户
提问于 2020-01-13 10:51:42
回答 1查看 87关注 0票数 0

我正在尝试从2列中减去值,并将它们分组为周数字。事件代码列的值为3,4。我正在尝试将事件代码4的持续时间相加,然后减去事件代码3的持续时间。这些值需要在最近12周内导出。

这是我到目前为止所拥有的。我是素材,并按周数进一步分组:

代码语言:javascript
复制
SELECT DISTINCT CUSTOMER_ID,
((SELECT SUM(DURATION_IN_SECONDS)/60 FROM TABLE1 ee WHERE ee.CUSTOMER_ID = e.CUSTOMER_ID AND EVENT_CODE IN (4))-
(SELECT SUM(DURATION_IN_SECONDS)/60 FROM TABLE1 ee WHERE ee.CUSTOMER_ID = e.CUSTOMER_ID AND EVENT_CODE IN (3))) AS UNPRODUCTIVE_MINUTES
FROM  TABLE1 e
WHERE TIMEDATE >= TO_DATE('01-OCT-19','DD-MON-YY') 
AND TIMEDATE <= TO_DATE('31-DEC-19','DD-MON-YY')
GROUP BY CUSTOMER_ID

上面的查询会产生如下结果:

代码语言:javascript
复制
CUSTOMER_ID   UNPRODUCTIVE_MINUTES
A100          1601

但我的结果必须是这样的:

代码语言:javascript
复制
CUSTOMER_ID       WEEKNUMBER  UNPRODUCTIVE_MINUTES
A100              12            171
A100              11            108
A100              10            112
A100              9             110
A100              8             98
A100              7             67
A100              6             117
A100              5             100
A100              4             111
A100              3             77
A100              2             73
A100              1             87
EN

回答 1

Stack Overflow用户

发布于 2020-01-13 12:02:16

我不确定,您想如何计算周数,但我猜week number是(timedate - start timedate / 7) + 1,因此创建相应的查询。

代码语言:javascript
复制
Select customer_id,
       Sum(case when EVENT_CODE = 4 then DURATION_IN_SECONDS else (-1* DURATION_IN_SECONDS) end)/60 as dur,
       Floor(Trunc(timedate) - TO_DATE('01-OCT-19','DD-MON-YY') / 7) + 1 as weeknumber
  From table1 e
 Where TIMEDATE >= TO_DATE('01-OCT-19','DD-MON-YY') 
   AND TIMEDATE <= TO_DATE('31-DEC-19','DD-MON-YY')
   AND EVENT_CODE in (3, 4)
GROUP BY CUSTOMER_ID, floor(trunc(timedate) - TO_DATE('01-OCT-19','DD-MON-YY') / 7) + 1

在这里,我没有使用event_code 3作为event_code 3和4的DURATION_IN_SECONDS,两者都减去DURATION_IN_SECONDS for 3,最终将与单独用于event_code 4的DURATION_IN_SECONDS相同。

干杯!!

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

https://stackoverflow.com/questions/59710054

复制
相关文章

相似问题

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