Получение предшествующих данных (LAG)

Определяет записи результирующей выборки данных, предшествующие текущей записи выборки данных.

Спецификация
   
<​смещение​>::=
вещественное число
<​стандартное значение​>::=
Синтаксические правила
  1. <​Выражение​> может быть столбцом или выражением.

  2. Если <​смещение​> не задано, по умолчанию используется 1.

  3. <​Значимые выражения​> в <​OVER-спецификации​> задают столбцы выборки, по которым выполняется разбивка выборки на интервалы агрегирования.

  4. <​Имена столбцов​> в <​ORDER BY-спецификации​> задают имена ранжируемых столбцов.

Общие правила
  1. Функция предоставляет доступ к записям, предшествующим на заданное <​смещение​> от текущей записи интервала агрегирования, к которому применена функция (см. раздел «OVER-спецификация»).

  2. Если значение <​выражения​> с учетом <​смещения​> выходит за пределы интервала агрегирования, или в качестве <​смещения​> указано отрицательное или дробное число, возвращается <​стандартное значение​>.

Пример
select make, lag(make, 2, 'Нет данных') as make_lag
  from auto where personid <​ 5;

 MAKE              MAKE_LAG
 ----              --------
| FORD            | Нет данных        |
| ALPINE          | Нет данных        |
| AMERICAN MOTORS | FORD              |
| MASERATI        | ALPINE            |