SQL:考虑行顺序聚合组内的记录

时间:2016-11-30 10:15:03

标签: sql postgresql group-by pyspark-sql

我有一个以下结构的表

| id | a | b |
| 1  | 1 | 1 |
| 2  | 1 | 5 |
| 3  | 2 | 2 |
| 4  | 2 | 3 |
| 5  | 2 | 5 |
| 6  | 1 | 3 |
| 7  | 1 | 7 |
| 8  | 3 | 1 |
| 9  | 2 | 0 |
| 10 | 4 | 8 |

并且需要计算“a”列中每个组中“b”列中的总和,但要考虑行的顺序,即首先我们应为1 + 5添加a == 1id s 1和2),然后我们会为2 + 3 + 5a = 2 s 3,4,5)添加id,依此类推。

因此,在结果中我需要像这样的表

| a | sum(b) |
| 1 |   6    |
| 2 |   10   |
| 1 |   10   |
| 3 |   1    |
| 2 |   0    |
| 4 |   8    |

请帮助编写SQL查询来执行此操作。

1 个答案:

答案 0 :(得分:4)

var match = theCollection.AsQueryable().SingleOrDefault(x =>
    x.Email.ToLower() == emailToSearchFor.ToLower());

P.S。
我不指望ID是连续的