我有以下 T-SQL,当我尝试使用 Databricks SQL 执行时,出现错误
Error in SQL statement: AnalysisException: cannot resolve '`rn`'
我有一个名为 db.myview 的视图,Databricks SQL 似乎无法执行 rn 的子查询(至少我是这么认为)
SELECT *
FROM
(select
rn = ROW_NUMBER() OVER (PARTITION BY ID order by ID),
*
from db.myview c
) c
where c.rn = 1
当我在 MS SQL 中执行上述查询时,没有任何问题。
Spark SQL 要求列别名位于列表达式之后。 所以
SELECT *
FROM
(
select ROW_NUMBER() OVER (PARTITION BY C_NAME order by C_CUSTKEY) as rn, *
from CUSTOMER c
) c
where c.rn = 1