我的table
id sum type
1 3 -1
1 6 -1
1 -6 2
1 -3 1
1 3 -1
1 6 -1
这些
1 3 -1
是开放行。类型始终为-1。总和可以不同。
这些
1 -6 2
是封闭行。类型!=-1.sum=-开放行的sum
这些行
1 3 -1
1 6 -1
1 -6 2
1 -3 1
会互相否定。这些
1 3 -1
1 6 -1
会留下来的。如果最后打开的行数大于15,那么对于每个打开的行,我需要在表中插入一行,其中sum是-打开行的sum,type是2。
分组
select id
, sum
, sum(
case
when type = -1 then 1
when type != -1 then -1
else 0
end
) as num
from table
group by id, sum
id sum num
1 3 2
1 6 2
1 -6 2
1 -3 1
也许能帮我找到密码。但我不知道以后该怎么办。
1条答案
按热度按时间qcuzuvrc1#