2015-07-15 3 views
-1

Я искал форум, но не могу найти то, что искал. Извините, если на это уже был дан ответ.Совокупные значения с несколькими условиями

У меня есть таблица со следующими примерами значений:

FY  Period Version Value 
2013 3  1   9954 
2013 3  2   9954 
2013 4  1   11498 
2013 4  2   11498 
2013 4  3   11498 
2014 1  1   448 
2014 1  2   448 
2014 1  3   0 
2014 2  1   3150 
2014 2  2   3150 
2014 3  1   0 
2014 3  2   0 
2014 3  3   5059 
2014 4  1   11118 
2014 4  2   0 
2014 4  3   11118 

Я ищу просуммировать значения наибольшего номера версии, в течение каждого периода и каждый финансовый года, так что ожидаемый результат для этой конкретной информации набор будет:

(9954 + 11498 + 0 + 3150 + 5059 + 11118) = 40,779 

я сделал что-то подобное ранее с over partition подходом, но я не могу заставить его работать на этом наборе данных. Любые указатели будут очень благодарны.

+1

Может, мы видим, что вы пробовали? – HABO

+0

9954 И 11498 не в тот же период или FLY, не могли бы вы объяснить это немного точнее? –

ответ

3

Простой подход заключается в использовании row_number():

select sum(value) 
from (select t.*, 
      row_number() over (partition by fy, period order by version desc) as seqnum 
     from table t 
    ) t 
where seqnum = 1; 
Смежные вопросы