当我在 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
结果:
我认为您的查询返回了正确的响应。令人困惑的是,您正在查询的数据可能包含您不期望的行(记录)。例如,
usertype
的值似乎是:
似乎还有很多行
start_station_name
为空白和/或 end_station_name
为空白。因此,这些值将包含在您的查询结果中。这就开启了“数据清洁”的故事……可能谷歌提供的数据是“原始数据”,你可能想在使用前清洁数据。例如,您可能想要排除 usertype
、start_station_name
或 end_station_name
为空白的行。您可以使用 WHERE
子句或使用通用表表达式 (CTE) 过滤掉这些内容。