【发布时间】:2020-09-10 18:31:27
【问题描述】:
我在 Bigquery 中有一个这样的起点-终点表,其中包含工作日、日期、UTC 时间/小时和行程次数:
Origin Destination Day Date Time Count
NY Station Downtown Mon 02.09.2019 15 12
NY Station Downtown Mon 02.09.2019 16 10
City libry Eastside Mon 02.09.2019 17 10
NY Station Downtown Tue 03.09.2019 15 8
NY Station Downtown Tue 03.09.2019 16 5
City libry Eastside Tue 03.09.2019 17 5
NY Station Downtown Wed 04.09.2019 15 8
NY Station Downtown Wed 04.09.2019 16 10
City libry Eastside Wed 04.09.2019 17 11
我希望得到平均计数
- 每个起点-目的地对(NY Station-Downtown 和 City libry-Eastside)
- 周一至周三每个给定时间的平均值
输出应该类似于
Origin Destination Avg_Day Period Time Avg_Count
NY Station Downtown Mon-Wed Week1 (02.09.19-04.09.19) 15 9,33
NY Station Downtown Mon-Wed Week1 (02.09.19-04.09.19) 16 8,33
City libry Eastside Mon-Wed Week1 (02.09.19-04.09.19) 17 8,67
忽略 Avg_day 和 Period 列,因为它只是为了帮助/显示我希望达到平均值的日期和日期。换句话说,目的是了解在一天中的特定时间在正常工作日(在本例中定义为周一至周三)每个起点-目的地对的平均计数。例如,NY Station-Downtown 对的时间 15 的平均计数是 9,33,计算方法是取周一、周二和周三 15 点钟的计数平均值(即 12、8和 8)。
我已经尝试过 CASE 和 WHERE SQL 查询的变体,但还没有完全掌握如何为此进行查询的逻辑,因此没有必要发布任何查询。可能还必须创建一个临时表。谁能帮我?非常感谢
【问题讨论】:
-
这看起来像一个简单的聚合查询。你有什么问题?
标签: sql google-bigquery logic