2017-05-26 89 views
1

我需要比较第1行与第2行,第2行与第3行,第3行与第4行等属性值为整个表。在WHERE子句中应用条件后,表数据集很小。如何比较SQL SELECT语句中整个表的表记录?

它的比较部分涉及到其他表(我可以管理)的连接。

ID PROJECT VALUE 
B1 PRJ001  100 
B2 PRJ001  200 
B3 PRJ001  200 
B4 PRJ001  300 
..... 
..... 
B9 PRJ001  600 

在上面的例子中,我需要B1到B2,B2到B3 ... B8比较B9和计数的时间值不匹配的数量。

任何帮助,这将不胜感激。

谢谢。

回答

1

你需要铅功能

Select t.*, 
LEAD(value,1) over (order by id) as next_value 
From your_table t; 

而且仅仅是明确的,我希望这只是一个例子。因为如果您添加更多ID(例如“B10”),则order by将在B1B2之间放置B10

+0

谢谢Utsav。我会给它一个去看看我可以如何将它纳入我的代码。 是的,这只是一个例子,我会查看创建日期以确定订单,但感谢您指出。 – JimmyM

+0

很酷。随时接受答案,以便可以关闭问题。 – Utsav