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

BigQuery中COUNT与CONCAT联用返回多余路线行的修正方法

问题原因

数据集bigquery-public-data.new_york_citibike.citibike_trips中存在大量无效记录,这些记录的start_station_name、end_station_name为NULL,且无有效骑行时长。当起止站点名均为NULL时,CONCAT(NULL, " to ", NULL)会直接返回你看到的异常值to,这类无效记录总量远高于正常骑行记录,所以排序后出现在首行。

修正方案

在查询中添加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
FROM 
    `bigquery-public-data.new_york_citibike.citibike_trips`
-- 新增过滤条件,排除空站点、空时长的无效记录
WHERE
    start_station_name IS NOT NULL
    AND end_station_name IS NOT NULL
    AND tripduration IS NOT NULL
GROUP BY   
    start_station_name, end_station_name, usertype
ORDER BY 
    num_trips DESC 
LIMIT 10

补充说明

如果仅需要临时移除首行异常结果不需要过滤其他无效记录,也可以在WHERE条件中添加route != "to",但更推荐直接过滤空值的方案,从根源避免无效数据干扰统计结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:54:04