Google bigquery BigQuery select语句别名在where子句中不起作用

Google bigquery BigQuery select语句别名在where子句中不起作用,google-bigquery,Google Bigquery,我尝试了下面给出的查询,但它抛出的错误等级并没有定义 SELECT EmailAddress , FirstName , LastName , RANK() OVER (ORDER BY BookingDate) AS RANK FROM `table_name` WHERE RANK BETWEEN 5 AND 7 下面是BigQuery标准SQL WHERE子句在形成查询输出并分配别名之前进行求值,这意味着在WHERE rank介于5和7之间时,字段rank不可用 你只

我尝试了下面给出的查询,但它抛出的错误等级并没有定义

SELECT
    EmailAddress
  , FirstName
  , LastName
  , RANK() OVER (ORDER BY BookingDate) AS RANK FROM `table_name`
WHERE RANK BETWEEN 5 AND 7

下面是BigQuery标准SQL

WHERE子句在形成查询输出并分配别名之前进行求值,这意味着在
WHERE rank介于5和7之间时,字段
rank
不可用

你只需要在下面使用

#standardSQL
SELECT * FROM (
  SELECT
      EmailAddress
    , FirstName
    , LastName
    , RANK() OVER (ORDER BY BookingDate) AS rank 
  FROM `project.dataset.table`
)
WHERE rank BETWEEN 5 AND 7 

下面是BigQuery标准SQL

WHERE子句在形成查询输出并分配别名之前进行求值,这意味着在
WHERE rank介于5和7之间时,字段
rank
不可用

你只需要在下面使用

#standardSQL
SELECT * FROM (
  SELECT
      EmailAddress
    , FirstName
    , LastName
    , RANK() OVER (ORDER BY BookingDate) AS rank 
  FROM `project.dataset.table`
)
WHERE rank BETWEEN 5 AND 7 

我怎样才能达到这一要求?“我怎样才能达到这一要求?”现在了解一下运行的服务器和/或版本。。。因为当前的SQL代码是MySQL和Google BigGoogle标准SQL兼容的。。Google BigGoogle标准SQL应该定义
RANK()
函数,MySQL 8.0也应该定义。。“我尝试了下面给出的查询,但它抛出的错误等级未定义。”您能否至少复制并粘贴错误,因为错误可用于数据库标识我正在使用bigqery BigQuery“我正在使用bigqery BigQuery”那么听起来您需要问我如何才能达到此要求?“我如何才能达到此要求?”现在,了解正在运行的服务器和/或版本。。。因为当前的SQL代码是MySQL和Google BigGoogle标准SQL兼容的。。Google BigGoogle标准SQL应该定义
RANK()
函数,MySQL 8.0也应该定义。。“我尝试了下面给出的查询,但它抛出的错误等级没有定义。”你能至少复制并粘贴错误,因为错误可以用于数据库标识吗?我正在使用bigqery BigQuery“我正在使用bigqery BigQuery”,那么听起来你需要