我有一个表,其中包含在事件组之前附加另一个值的每个操作。
只有 3 个操作:R、E、P
+ ----------+----------+-----------+------------------------+ |滚动循环 |阻止 |运营 |在线订单 | + ----------+----------+-----------+------------------------+ |1 |3 |R |4 | |1 |3 |P |3 | |1 |3 |E |2 | |1 |3 |R |1 | |1 |2 |P |3 | |1 |2 |E |2 | |1 |2 |R |1 | |1 |1 |R |1 | |2 |1 |E |2 | |2 |1 |R |1 |
+ ----------+----------+-----------+------------------------+我想知道在 Rollcycle 的每个阻塞组之前发生了哪些操作。 我需要在访问SQL中执行此操作。
输出
+ ----------+----------+---+---+---+ |滚动循环 |阻止 |R |E |P | + ----------+----------+---+---+---+ |1 |1 |1 |0 |0 | |1 |2 |0 |1 |1 | |1 |3 |1 |0 |0 | |2 |1 |1 |1 |0 |
+ ----------+----------+---+---+---+我找不到类似的东西。这可能太具体了。
请帮忙:)
编辑:返回原始表格
如果我正确关注了您,您可以过滤order
大于或等于blocking
的记录,然后进行条件聚合:
select
rollcycle,
blocking,
max(iif(operation = 'R', 1, 0)) R,
max(iif(operation = 'E', 1, 0)) E,
max(iif(operation = 'P', 1, 0)) P
from mytable
where order >= blocking
group by rollcycle, blocking