【发布时间】:2014-04-21 15:17:08
【问题描述】:
我试图找出当前行和上一行之间的差异。但是,我收到以下错误消息:
无法绑定多部分标识符“tableName”。
不确定如何修复错误。
谢谢!
输出应如下所示:
columnOfNumbers Difference
1 NULL
2 1
3 1
10 7
12 2
.... ....
代码:
USE DATABASE;
WITH CTE AS
(SELECT
ROW_NUMBER() OVER (PARTITION BY tableName ORDER BY columnOfNumbers) ROW,
columnOfNumbers
FROM tableName)
SELECT
a.columnOfNumbers
FROM
CTE a
LEFT JOIN CTE b
ON a.columnOfNumbers = b.columnOfNumbers AND a.ROW = b.ROW + 1
【问题讨论】:
-
您使用的是哪个数据库?
-
你必须按列名进行分区。
-
可以省略'partition by'子句。
标签: sql sql-server