LAG 函数和WITH 子句的语法错误

问题描述 投票:0回答:1

我目前正在使用 SQL Server 2022,我的数据库的兼容性级别为 160,但是当我尝试执行此语句时:

WITH CTE AS
(
    SELECT 
        Id,
        LAG(Id) OVER (ORDER BY Id) AS previous_id,
        Date,
        LAG(Date) OVER (ORDER BY Id) AS previous_date
    FROM 
        dbo.Bellabeat_daily 
)

我收到以下错误:

消息 102,第 15 级,状态 1,第 6 行
')' 附近的语法不正确。

第 6 行对应于 FROM 命令。

我检查了列和表名称中的拼写错误,但一切都是正确的。对于我在这里错过的任何建议,我很感激。

sql-server syntax syntax-error with-statement
1个回答
0
投票

正确的语法:

WITH CTE AS(
  SELECT Id,
  LAG(Id) OVER (ORDER BY Id) AS previous_id,
  Date,
  LAG(Date) OVER (ORDER BY Id) AS previous_date
  FROM dbo.Bellabeat_daily 
)
SELECT *
FROM CTE
© www.soinside.com 2019 - 2024. All rights reserved.