Аналитическая функция по окну без текущей записи.

evus
Дата: 01.12.2009 13:28:55
Уважаемые коллеги,

подскажите пожалуйста как применить аналитическую функцию к окну из которого исключена текущая запись. Если это возможно конечно :)

Спасибо.
Andrey.L
Дата: 01.12.2009 13:31:01
evus,

Например так:
sum(f1) over(partition by f2) - f1
suPPLer
Дата: 01.12.2009 13:32:20
evus,

смотря какую функцию.
evus
Дата: 01.12.2009 13:37:03
Давайте уточню на примере:

last_value(A ignore nulls) over(partition by field1 order by field2) - возвращает последнее значение в окне от первой в порядке сортировки field2 до текущей записи. Как взять ту же функцию без текущей записи?

Суперпозицию с lag не предлагать.
Добрый Э - Эх
Дата: 01.12.2009 13:39:32
Задать окно явно:
over(
      partition by ... 
      order by ... rows between unbounded preceding and 1 preceding)
suPPLer
Дата: 01.12.2009 13:41:12
Ну и полуофф: у Тома Кайта в блоге есть интересная заметка о новом расширении синтаксиса аналитических функций, которое предлагается вот в этом документе. Одно из возможных нововведений - исключение строк из окна (стр. 3, EXCLUSION). Так что, в какой-нибудь Oracle DB 12x аналитика станет ещё интересней и ещё непонятней.
-------------------------------------------------------
When I say "RTFM" or "STFF" or "STFW",
the third letter means "Following" or "Fine"...
evus
Дата: 01.12.2009 13:41:59
Добрый Э - Эх
Задать окно явно:
over(
      partition by ... 
      order by ... rows between unbounded preceding and 1 preceding)


Спасибо тебе, Добрый Э-эх. Действительно, так просто все :)
evus
Дата: 01.12.2009 13:43:44
suPPLer
Ну и полуофф: у Тома Кайта в блоге есть интересная заметка о новом расширении синтаксиса аналитических функций, которое предлагается вот в этом документе. Одно из возможных нововведений - исключение строк из окна (стр. 3, EXCLUSION). Так что, в какой-нибудь Oracle DB 12x аналитика станет ещё интересней и ещё непонятней.
-------------------------------------------------------
When I say "RTFM" or "STFF" or "STFW",
the third letter means "Following" or "Fine"...


Спасибо, обязательно почитаю) Будет вообще нереально круто, если это будет так. Мне например в моей работе это очень поможет)
_Alex_SMIRNOV_
Дата: 01.12.2009 14:43:28
suPPLer, интересно может что-то из этого уже в Oracle 11R2 работает как незадокументированная функциональность )))