如果我有以下数据
Cust No. | Action | Val
----------| --------------| ----
10 | Checked out | 1.0
10 | PAID | 40.0
10 | Checked In | 1.0
15 | Flew Away | 2.0
15 | PAID | 100.00
15 | Came back | 1.0
20 | PAID | 150.00
30 | Checked In | 1.0
30 | PAID | 50.00
30 | PAID | 10.00
我怎样才能拿到票 SUM
只有 PAID
每个客户的价值观 Checked In
进入
即。
Cust No. | Total Paid
----------| --------------
30 | 60.00
10 | 40.00
4条答案
按热度按时间yfwxisqw1#
我没有Spark测试,但一种方法应该是使用
HAVING
找出组中是否有“签入”行;另一种是使用
WHERE
先求群,然后求和;watbbzwu2#
使用
CASE
条件以及SUM
喜欢如果使用外部查询稍微调整一下查询,比如
56lgkhnf3#
这应该管用
9nvpjoqh4#
这应该起作用: