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

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

Спецификация
<смещение>::=
вещественное число
<стандартное значение>::=
Синтаксические правила
  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            |