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

BigQuery查询纽约Citibike数据集如何排除NULL值结果行

问题原因

  • 你的查询语句不存在逻辑错误,返回的空值行来源于数据集本身的脏数据:该公共数据集中存在部分行程的start_station_name、end_station_name、usertype字段为空的记录,这些空值记录会被归为同一分组,当这类记录总量足够高时就会出现在排序后的Top10结果中。
  • 你参考的课程视频未出现该问题,大概率是课程使用的是更早版本的已清洗数据集,或者讲师在演示时额外添加了过滤条件未明确说明。

解决方法

在查询的WHERE子句中添加对应字段的非空校验即可过滤掉无效记录,修改后的查询语句如下:

SELECT 
  usertype,
  CONCAT(start_station_name, ' to ', end_station_name) AS route,
  COUNT(*) AS num_trips,
  ROUND(AVG(CAST(tripduration as int64)/60),2) AS duration_minutes
FROM 
  bigquery-public-data.new_york_citibike.citibike_trips
WHERE 
  start_station_name IS NOT NULL 
  AND end_station_name IS NOT NULL
  AND usertype IS NOT NULL
GROUP BY 
  start_station_name,
  end_station_name,
  usertype
ORDER BY 
  num_trips DESC
LIMIT 10

如果还需要进一步过滤异常行程数据,还可以额外添加行程时长的校验条件,过滤掉时长小于1分钟或者超过24小时的异常记录:

AND tripduration BETWEEN 60 AND 86400

内容的提问来源于stack exchange,提问作者José Albelo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 05:06:04