【发布时间】:2018-03-21 09:21:04
【问题描述】:
我有这个数据的表格。
ID IMPACT TICKETID OWNER OWNERGROUP
1 1 TICKET1001 GROUP1
2 2 TICKET1001 USER1
3 3 TICKET1001 USER1
4 4 TICKET1001 GROUP1
5 5 TICKET1001 USER2
6 6 TICKET1001 GROUP1
7 7 TICKET1001 USER1
8 8 TICKET1002 GROUP1
9 9 TICKET1003 GROUP1
10 10 TICKET1003 USER1
我想根据所有工单的 OWNER 列 IMPACT 值进行总结,并且我知道该怎么做。
SELECT OWNER, SUM (IMPACT)
FROM TABLE
WHERE OWNER IS NOT NULL
GROUP BY OWNER
所以这种情况下的结果是:
USER1 22 (2+3+7+10)
USER2 5 (5)
但是,我还需要从前一行中获取值,其中用户不是票证的所有者,但在那一行之后他获得了所有权。 票证总是首先委托给组 (GROUP1),然后用户获得所有权。 所以这意味着我应该计算来自 ID 1 和 6 和 9 的 USER1 值(因为他是这些行之后的下一个第一个所有者)和来自 ID 4 的 USER2 值(因为 USER2 是第一个下一个所有者票)。
所以我分组的最终结果应该是:
USER1 38 (1+2+3+6+7+9+10)
USER2 9 (4+5)
TICKET1002 根本没有 OWNER 值,所以不应该计算在内!!!
可以这样计算吗?
提前谢谢你
【问题讨论】:
-
发问题时,请提供创建表和插入数据的命令
标签: sql select group-by count db2