Sql-对数据进行特殊分组(HIVE、Oracle)

2017-10-17  本文已影响0人  咖啡不解酒
name score flag
XX1 95 0
XX1 80 0
XX1 80 1
XX1 70 0
XX1 90 1
name score
XX1 255
XX1 160
flag groupId
0 1
0 1
0 1
0 1
1 1
1 2
0 3
0 3
1 3
0 4
1 4
flag lead sum_1 sum_2 groupId
0 0 0 4 4
0 0 0 4 4
0 0 0 4 4
0 0 0 4 4
1 0 0 4 4
1 1 1 4 3
0 1 2 4 2
0 0 2 4 2
1 0 2 4 2
0 1 3 4 1
1 0 3 4 1
columns comments
flag 数据源里面的flag字段
lead flag字段往下移一位(lead()over())
sum_1 对lead的值进行累加(sum()over(order by))
sum_2 对flag的值进行sum(sum()over())
groupId sum_2-sum1
上一篇 下一篇

猜你喜欢

热点阅读