SQL Server 2008 R2。唯一ID的连续行值之间的差异
我需要根据共同的唯一ID找到连续行之间的差异。
Data:
AccountNumber ValueDate CustomerName Amount Difference
1 06/01/2014 Customer Name 1 -3436.184178
2 06/03/2014 Customer Name 2 -154.5 -51.5
2 06/15/2014 Customer Name 2 -103
3 06/02/2014 Customer Name 3 -45289.44
4 06/20/2014 Customer Name 4 -4907.52 -1116.43
4 06/25/2014 Customer Name 4 -3791.09 -3791.09
4 06/30/2014 Customer Name 4 -3302.19
差异列是我想要生成的。 我需要找到连续行之间的区别只有如下:
对于特定AccountNumber,有多于一行。
我设法与1倍的值删除行/账户号码[行1和4在这种情况下]
我还需要找到的差异[排 - 排+ 1] 我看到了一个几个堆栈溢出的答案,但他们似乎并不适用于这种情况。
您需要指定“连续行”的含义。 SQL Server如何知道-154.5在-103之前? (另外,如果AccountNumber在两行中可以具有相同的值,则它不是唯一的。) – 2014-08-28 20:16:51
表代表无序集。因此,除非你明确地有一个列的顺序 - 通常是一个id或创建日期,否则不存在“连续的行”。你的数据没有这样的列,因此它没有“连续行”。 – 2014-08-28 20:17:16
编辑,以包括ValueDate作为参考点的连接性[不知道这是一个字] – GVashist 2014-08-28 20:26:01