You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求解释Citibike骑行数据SQL查询的执行逻辑

这段Citibike骑行数据SQL查询的工作原理解析

这段SQL是从纽约Citibike的公开骑行数据集中,统计不同用户类型下最热门的10条骑行路线,同时算出每条路线的总骑行次数和平均骑行时长(分钟)。下面拆解开每部分细节:

1. 数据来源

FROM bigquery-public-data.new_york.citibike_trips``
指定查询的数据源是BigQuery平台上的公开数据集bigquery-public-data.new_york.citibike_trips,里面存的是纽约Citibike的所有骑行记录。

2. 输出字段说明

  • usertype:直接输出用户类型(一般分为订阅用户、临时用户两类)
  • CONCAT(start_station_name, " to ", end_station_name) AS route
    用CONCAT函数把起点站和终点站的名称拼接成「起点 to 终点」的格式,给这个拼接后的字段起名叫route,用来代表一条完整的骑行路线
  • COUNT(*) as num_trips
    统计每个分组里的骑行记录总数,起名num_trips,就是这条路线被骑了多少次
  • ROUND(AVG(cast(tripduration as int64)/60),2) AS duration
    先把原始的tripduration(通常是秒数)转成int64类型保证计算准确,再除以60转换成分钟;接着计算这个分组下的平均时长;最后用ROUND把结果保留两位小数,起名duration就是这条路线的平均骑行时长

3. 分组规则

GROUP BY start_station_name, end_station_name, usertype
按照「起点站名称、终点站名称、用户类型」的组合来分组——意思是,只要用户类型相同、起点和终点也完全一样的骑行记录,都会被归为同一组,后面的次数统计、平均时长计算都是针对每个组来做的。

4. 结果排序与截取

  • ORDER BY num_trips DESC:把所有分组按骑行次数从多到少排序,热门路线排前面
  • LIMIT 10:只取排序后的前10条结果,也就是最热门的10条路线

内容的提问来源于stack exchange,提问作者Yash Tiwari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 12:29:53