SQL 查询中不必要的空行
Unnecessary blank row in SQL query
Aim was to write a SQL query to return ride details from a public database.
在学习数据分析课程时,我偶然发现了这个问题。使用的代码是正确的,因为提供的指令是相同的,但是我得到的结果是不同的。第一行返回一个空白行,其中仅包含提到的行程数。
这是我使用的代码
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
发生这种情况是因为您实际上有 580 万行用户类型为空,start_station_name 和 end_station_name,并且当您按 DESC 顺序排序时,它们显示为输出的第一行。
假设你只需要在至少有一个start_station_name的时候才算那么你可以添加一个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 <> ''
GROUP BY
start_station_name, end_station_name, Usertype
ORDER BY
num_trips DESC
Limit 10
Aim was to write a SQL query to return ride details from a public database.
在学习数据分析课程时,我偶然发现了这个问题。使用的代码是正确的,因为提供的指令是相同的,但是我得到的结果是不同的。第一行返回一个空白行,其中仅包含提到的行程数。
这是我使用的代码
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
发生这种情况是因为您实际上有 580 万行用户类型为空,start_station_name 和 end_station_name,并且当您按 DESC 顺序排序时,它们显示为输出的第一行。
假设你只需要在至少有一个start_station_name的时候才算那么你可以添加一个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 <> ''
GROUP BY
start_station_name, end_station_name, Usertype
ORDER BY
num_trips DESC
Limit 10