错误:无法识别的名称:Google BigQuery

Posted

技术标签:

【中文标题】错误:无法识别的名称:Google BigQuery【英文标题】:Error: Unrecognized name: Google BigQuery 【发布时间】:2018-03-30 09:36:24 【问题描述】:

我是 SQL 新手,我正在尝试在 Google BigQuery 中进行如下查询:

 SELECT client, begindate, enddate, 
 LAG(enddate,1) OVER (PARTITION BY client ORDER BY begindate, 
 client) AS lag,
 ROUND(DATE_DIFF(DATE(begindate), lag, DAY)) as diff
 FROM
 db LIMIT 100;

但它给出了错误“错误:无法识别的名称:滞后于.....”

我真的不明白代码有什么问题;在数据集预览中,我看到新列“lag”已成功创建(当我删除 date_diff 代码时)。那么为什么“滞后”是一个无法识别的名字呢?

【问题讨论】:

列别名不能在定义的同一个选择列表中引用。使用派生表(子查询),然后你可以在它之外引用滞后。 啊,这说明了...... 【参考方案1】:

试试这个:

SELECT client,begindate, enddate,lag,
ROUND(DATE_DIFF(DATE(begindate), lag, DAY)) as diff
FROM (
      SELECT client, begindate, enddate, 
      LAG(enddate,1) OVER (PARTITION BY client ORDER BY begindate, 
      client) AS lag, 
      FROM
      db LIMIT 100;
     ) AS t

【讨论】:

以上是关于错误:无法识别的名称:Google BigQuery的主要内容,如果未能解决你的问题,请参考以下文章

错误 - 配置值:“主题”。错误:无法识别的主题名称:

尝试在 Google Play 上发布我的应用程序时,第 20 行出现错误无法识别的 xmltree 行:'C:“”'

将 Google Map SDK 添加到 iOS6 时将错误无法识别的选择器发送到类

BigQuery 中出现“无法识别的名称:m01_order_datetime_gmt0”错误

解析器错误消息:无法识别的属性“targetFramework”。请注意,属性名称区分大小写

iOS - 名称标签时出现“无法识别的选择器发送到实例”错误