在SQL

2015-05-05 50 views
0

測距最大我有一個表在SQL

2006 .5 
2007 .6 
2008 .4 
2009 .7 
2010 .4 

我給的範圍例如。 2006-2010

我想要這樣的結果:每當出現最大值時,除非下一個數字大於前一個數字,否則以下年份將具有最大數字。

2006-2010 2006 .5 
2006-2010 2007 .6 
2006-2010 2008 .6 
2006-2010 2009 .7 
2006-2010 2010 .7 

所以這是我曾嘗試:

我用了一個交叉連接,並得到

2006-2010 2006 .5 
2006-2010 2007 .6 
2006-2010 2008 .4 
2006-2010 2009 .7 
2006-2010 2010 .4 

但是,我沒有得到正確的結果。有什麼我應該用來獲得比前一年的最大值。不知道我是否能夠很好地解釋這一點。

+0

這很好。祝你好運。你有問題嗎? –

+0

聽起來像一個功課問題。也許問一個導師? –

+0

你可以請發表你曾嘗試過嗎?我們不是在這裏爲你做你的工作,而是幫助你,並引導你走向正確的方向。 –

回答

1

試試這個

create table dates (year int, val float); 
insert into dates values (2006,.5); insert into dates values (2007,.6); insert into dates values (2008,.4); insert into dates values (2009,.7); insert into dates values (2010,.4); 
select * , (select round(max(val),1) from dates d2 where d2.year<=d1.year) as max from dates d1;