【问题标题】:Issue related to SQL query [closed]与 SQL 查询相关的问题 [关闭]
【发布时间】:2022-11-28 16:30:04
【问题描述】:
SELECT
    user_type, 
    CONCAT (start_station_name, 'to', end_station_name) AS route
    COUNT(*) AS num_trips,
    ROUND(AVE(CAST(tripduration AS int64) / 60), 2) AS duration
FROM
    `bigquery-public-data.new_york_citibike.citibike_stations` 
GROUP BY
     start_station name, end_stations_name, user type
GROUP BY
      num_trips DESC
LIMIT 10

我写了上面的语句用于在开放数据源上进行练习,但是当我运行它时它在计数时显示语法错误。

我期待纽约市自行车数据中排名前 10 位的自行车路线的结果显示自行车持续时间的最终输出

【问题讨论】:

  • 您在 CONCAT 行的末尾缺少 , - 而且,通常情况下,SQL 中的平均值运算符是 AVG - 而不是 AVE ,而且您还有GROUP BY 条款 - 通常也不起作用......

标签: sql


【解决方案1】:
  • 在第 9 行,它应该是 user_type 而不是 user type

  • 第 3 行在 AS route, 之后缺少一个逗号

  • 第 5 行应该是ROUND(AVG(CAST

  • 应该是ORDER BY num_trips DESC

SELECT
    user_type, 
    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_stations`
GROUP BY
     start_station name, end_stations_name, user_type
ORDER BY
     num_trips DESC
LIMIT 10

【讨论】:

    猜你喜欢
    • 2018-01-17
    • 1970-01-01
    • 1970-01-01
    • 2020-08-13
    • 2011-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多