2013-02-08 53 views
2

我试图找到一列数据,即区别不同会中DIFF单列数据

Column C 
date 2 (1/2/12) would check the difference from date 1 (1/1/12) 
date 3 (1/3/12) would check the difference from date 2 (1/2/12) 
date 4 (1/4/12) would check the difference from date 3 (1/3/12) 

我想我可以创建其他两列日期天数减去-1,然后量显示差异

Column A<date> Column B<Amount> Column C <Difference> 
1/1/12   550    -150 
1/2/12   400    300 
1/3/12   700    -200 
1/4/12   500 

感谢您的帮助

回答

2

可以使用LEAD解析函数

SELECT "Column A", 
     "Column B", 
     (LEAD("Column B", 1) OVER (ORDER BY "Column A") - "Column B") AS "Difference" 
FROM TableName 

其他(多个)

+1

+1 - 卓越使用LEAD – sgeddes

+0

@sgeddes有时这些功能可能被忽略。 –

+0

谢谢JW的帮助 – user2053274

1

下面是使用另一种选择一个CTERowNum和:

WITH CTE AS (
    SELECT ColA, 
     ColB, 
     rownum rn 
    FROM YourTable 
    ORDER BY ColA 
) 
SELECT C.*, 
    C.ColB - C2.ColB ColC 
FROM CTE C 
    LEFT JOIN CTE C2 ON C.rn = C2.rn + 1 

SQL Fiddle

祝你好运。