我有表,這樣的結構SQL查詢加入
CREATE TABLE #test
(
ID INT IDENTITY,
[Value] INT
)
,並希望從目前到前一行找到[超值]之間的差異只有一個連接運算符。 任何人都可以幫助我嗎?
我有表,這樣的結構SQL查詢加入
CREATE TABLE #test
(
ID INT IDENTITY,
[Value] INT
)
,並希望從目前到前一行找到[超值]之間的差異只有一個連接運算符。 任何人都可以幫助我嗎?
目前還不清楚是什麼記錄是以前的給定目前一。假設該此前的紀錄是一個是立即之前,在當前記錄時,該表是通過ID排序的所有你需要的是解析函數和沒有加入所有:
select [Value] - lag([Value]) over (order by ID)
from #test
但是您必須測試您的DBMS 是否支持分析函數(MS SQL,Oracle)
select (t1.value-t2.value) as difference
from test t1 join test t2 on t1.id=t2.id-1
如果您在ID中有空白,可能會出現問題。例如。 id = 1,2,3,10,11,12
如果指定RDBMC,可以建議更好的解決方案。
您使用的是什麼RDBMS? – Mureinik
您可以先嚐試一下嗎? – fancyPants
該死的功課... – Mihai