SQL 查询返回不需要的第一行

问题描述 投票:0回答:1

当我在 BigQuery 中运行 SQL 查询以从公共数据集中获取一些汇总数据时,返回的第一行不是我想要的结果。

使用的查询:

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
GROUP BY
    start_station_name,
    end_station_name,
    usertype
ORDER BY
    num_trips DESC
LIMIT 10

结果:

查询结果

sql google-bigquery count dataset row
1个回答
0
投票

我认为您的查询返回了正确的响应。令人困惑的是,您正在查询的数据可能包含您不期望的行(记录)。例如,

usertype
的值似乎是:

  • 空白
  • 订阅者
  • 客户

似乎还有很多行

start_station_name
为空白和/或
end_station_name
为空白。因此,这些值将包含在您的查询结果中。这就开启了“数据清洁”的故事……可能谷歌提供的数据是“原始数据”,你可能想在使用前清洁数据。例如,您可能想要排除
usertype
start_station_name
end_station_name
为空白的行。您可以使用
WHERE
子句或使用通用表表达式 (CTE) 过滤掉这些内容。

© www.soinside.com 2019 - 2024. All rights reserved.