【发布时间】: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 代码时)。那么为什么“滞后”是一个无法识别的名字呢?
【问题讨论】:
-
列别名不能在定义的同一个选择列表中引用。使用派生表(子查询),然后你可以在它之外引用滞后。
-
啊,这说明了......
标签: sql google-bigquery