GROUP BY语法错误求助:修正WITH子句查询获取最长骑行时长
修正BigQuery WITH语句查询错误
原查询存在两个核心问题:
- GROUP BY子句用法错误:GROUP BY仅用于指定分组字段,不能直接搭配
DESC排序关键字,排序逻辑需通过ORDER BY实现。 - 分组字段错误:要计算单辆单车的总骑行时长,需按
bike_id分组,而非聚合后的trip_duration字段。
修正后的查询代码:
WITH longest_used_bike AS ( SELECT bike_id, SUM(duration_minutes) AS trip_duration FROM bigquery-public-data.austin_bikeshare.bikeshare_trips GROUP BY bike_id ORDER BY trip_duration DESC LIMIT 1 ) SELECT * FROM longest_used_bike;
关键修正点说明:
- 用
GROUP BY bike_id按单车ID分组,计算每辆单车的累计骑行时长。 - 通过
ORDER BY trip_duration DESC将结果按总时长降序排列,确保最长时长的单车排在首位。 - 保留
LIMIT 1仅获取排名第一的结果,即总骑行时长最长的单车数据。
内容的提问来源于stack exchange,提问作者Moch
相关产品推荐
相关产品推荐

