【发布时间】:2015-04-02 06:06:31
【问题描述】:
我在 BigQuery 中有一个数据集,用于记录在活动前对个人所做的捐赠。这是架构
- first_name:STRING ---(这是捐赠者的名字)
- payment_date:TIMESTAMP ---(捐赠日期)
- 金额:STRING ---(捐赠金额)
- donated_to_individual:STRING ---(收集捐款的参与者)
- location:string ---(个人将参加的活动地点)
- year_of_run:STRING ---(事件年份)
我正在尝试创建一个表格,从中我可以绘制出每个地点收到总计 50 美元或更多捐款的个人在 payment_date 上的运行计数。
下面是我的最佳尝试,给我留下了一张表格,该表格可以计算只有在当天收到捐款时筹集 50 美元或更多的人数:
SELECT
donated_to_id_b
,payment_date
,amount
,running_total
,IF(running_total>=50,'$50','NOPE') as reached_50_dollars
FROM
(SELECT
donated_to_individual as donated_to_id_b
,payment_date as payment_date
,amount
,sum(amount) OVER (PARTITION BY donated_to_id_b ORDER BY payment_date ASC, first_name) as running_total
FROM [robotic-charmer-726:bl_test_data.running_count_over_50_then_150]
WHERE year_of_run='2014')
恐怕我采取了完全错误的方法......所以任何帮助将不胜感激!
我创建了一个公共虚拟数据集,可在此处找到:bigquery.cloud.google.com/table/robotic-charmer-726:bl_test_data.running_count_over_50_then_150
谢谢!
【问题讨论】:
标签: sql count distinct google-bigquery cumulative-sum