【发布时间】:2010-10-12 16:25:05
【问题描述】:
我有一张这样的桌子:
rowInt Value
2 23
3 45
17 10
9 0
....
列 rowInt 的值是整数,但不是具有相同增量的序列。我可以使用以下 sql 按 rowInt 列出值:
SELECT * FROM myTable ORDER BY rowInt;
这将按 rowInt 列出值。如何获得两行之间的 Value 差异,结果如下:
rowInt Value Diff
2 23 22 --45-23
3 45 -35 --10-45
9 0 -45 --0-45
17 10 10 -- 10-0
....
该表在 SQL 2005 (Miscrosoft) 中
【问题讨论】:
-
第二行有 10-45 个吗?你从哪里拿 10 分?
-
一些计算不一致...row2的(45-23)是row3-row2,但是row9的(0-45)是row9-row3,应该不是(10-0)第 17 行到第 9 行是哪个?
-
您似乎想计算原始行集中相邻值之间的差异(2、3、17、9)。那我得问你:你的 ORIGINAL 行集是在哪一列排序的?请记住,SQL 中没有“默认排序”之类的东西。
-
无论如何,解决问题。 (--10-45) 不对。
标签: sql sql-server tsql sql-server-2005