为何两段SQL查询结果不同?子查询与直接聚合差异排查
问题排查:两段SQL结果差异的原因
核心问题是两段SQL引用的数据源表路径不一致:
- 第一段代码使用的表:
bigquery-public-data.new_york_citibike.citibike_trips(所属数据集为new_york_citibike) - 第二段代码使用的表:
bigquery-public-data.new_york.citibike_trips(所属数据集为new_york)
这两个是BigQuery中完全独立的数据集,存储的纽约Citibike行程数据在时间范围、数据量或数据完整性上存在差异,直接导致聚合计算出的各站点平均骑行时长结果不匹配。
修复方法:将第二段SQL的表路径修改为与第一段一致,即可得到相同结果:
SELECT start_station_id, AVG(tripduration) as avg_duration FROM bigquery-public-data.new_york_citibike.citibike_trips GROUP BY start_station_id ORDER BY avg_duration DESC;
内容的提问来源于stack exchange,提问作者Abhisar Sharma
相关产品推荐
相关产品推荐

