语法错误:应为“(”或“,”或关键字 SELECT,但已到达脚本结尾

Lar*_*a G 1 sql common-table-expression google-bigquery

我只是按照课程中的查询进行操作,但我无法弄清楚为什么收到错误消息。

语法错误:应为“(”或“,”或关键字 SELECT,但在 [13:6] 处结束脚本

With 
longest_used_bike AS (
    SELECT 
        Bikeid,
        SUM(duration_minutes) AS trip_duration
    FROM 
        bigquery-public-data.austin_bikeshare.bikeshare_trips
    GROUP BY 
        Bikeid
    ORDER BY 
        Trip_duration DESC
    LIMIT 1
)
Run Code Online (Sandbox Code Playgroud)

为什么我会收到此错误?

小智 7

我遇到过同样的问题。我了解到 CTE(WITH 子句)不能作为独立的代码段工作 - 它是较大语句的一部分。要完成代码,您必须添加 SELECT 语句。

我认为会发生以下情况:

  1. WITH 子句仅创建临时表
  2. 您需要另一个语句来操作或查询临时表,SELECT 通常可以工作。
WITH longest_used_bike AS (
  SELECT
    bikeid,
    SUM(duration_minutes) AS trip_duration
  FROM `bigquery-public-data.austin_bikeshare.bikeshare_trips`
  GROUP BY bikeid
  ORDER BY trip_duration DESC
)
/* add your SELECT statement here */
SELECT *
FROM longest_used_bike;

/* or whatever else */
Run Code Online (Sandbox Code Playgroud)