我有表如下(1)
A B C
1 a 11
2 a 12
3 b 13
4 b 14
5 b 15
6 c 16
7 c 17
8 c 18
...
还有很多,大约一万多行数据A是主键
我想取得的结果如下:根据B列的值,取C列的和
比如B列为a的数据有两条,C的和味11+12=23
即
1 a 23以此类推,比如B列为b的数据有三条,C的和味13+14+15=42
即
2 b 42
如此的结果为
1 a 23
2 b 42
3 c 51
...一次类推下去
A B C
1 a 11
2 a 12
3 b 13
4 b 14
5 b 15
6 c 16
7 c 17
8 c 18
...
还有很多,大约一万多行数据A是主键
我想取得的结果如下:根据B列的值,取C列的和
比如B列为a的数据有两条,C的和味11+12=23
即
1 a 23以此类推,比如B列为b的数据有三条,C的和味13+14+15=42
即
2 b 42
如此的结果为
1 a 23
2 b 42
3 c 51
...一次类推下去
1 a 11 0
2 a 12 1
3 b 13 0
4 b 14 1
5 b 15 1
6 c 16 1
7 c 17 1
8 c 18 0
...
还有很多,大约一万多行数据A是主键
我想取得的结果如下:根据B列的值,取C列的和
比如B列为a的数据有两条,C的和味11+12=23
即
1 a 23以此类推,比如B列为b的数据有三条,C的和味13+14+15=42
即
2 b 42
如此的结果为
1 a 23
2 b 42
3 c 51...一次类推下去
但是如果当D列等于0 的时候,该条数据不被加入到累计结果当中
即如下结果:
1 a 12
2 b 29
3 c 33
select row_number() over (order by U.b),U.*
from(select b,sum(c)
from tb
where d <> 0
group by b)U
select row_number() over (order by U.b) id,U.*
from(select b,sum(c)c
from tb
where d <> 0
group by b)U