Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex DataLens
    • Обзор
    • Синтаксис формул
      • Все функции
        • Обзор
        • AVG
        • AVG_IF
        • COUNT
        • COUNT_IF
        • FIRST
        • LAG
        • LAST
        • MAVG
        • MAX
        • MCOUNT
        • MIN
        • MMAX
        • MMIN
        • MSUM
        • RANK
        • RANK_DENSE
        • RANK_PERCENTILE
        • RANK_UNIQUE
        • RAVG
        • RCOUNT
        • RMAX
        • RMIN
        • RSUM
        • SUM
        • SUM_IF
      • Поддержка функций
    • Параметры
  • Аудитные логи Audit Trails
  1. Вычисляемые поля
  2. Справочник функций
  3. Оконные функции
  4. LAG

LAG (оконная)

Статья создана
Yandex Cloud
Обновлена 6 ноября 2024 г.

СинтаксисСинтаксис

Стандартный
Расширенный
LAG( value [ , offset [ , default ] ] )
LAG( value [ , offset [ , default ] ]
     [ TOTAL | WITHIN ... | AMONG ... ]
     [ ORDER BY ... ]
     [ BEFORE FILTER BY ... ]
   )

Подробнее:

  • TOTAL, WITHIN, AMONG
  • ORDER BY
  • BEFORE FILTER BY

ОписаниеОписание

Важно

Сортировка осуществляется на основе полей, перечисленных в области сортировки в чарте и в ORDER BY. При этом сначала берутся поля из ORDER BY.

Возвращает значение value из строки со смещением offset относительно текущей в рамках заданного окна:

  • положительное значение offset делает смещение назад;
  • отрицательное значение offset делает смещение вперед.

По умолчанию offset равно 1.

Если значение отсутствует (offset ссылается на строку до первой или после последней), то возвращается значение default в качестве результата. Если default не задано, то используется NULL.

См. также AGO в качестве неоконной альтернативы.

Типы аргументов:

  • value — Любой
  • offset — Целое число
  • default — Любой

Возвращаемый тип: Совпадает с типом аргументов (value)

Примечание

Значения аргументов (offset, default) должны быть константами.

ПримерыПримеры

Пример с группировкой

Исходные данные

Date City Category Orders Profit
'2019-03-01' 'London' 'Office Supplies' 8 120.80
'2019-03-04' 'London' 'Office Supplies' 2 100.00
'2019-03-05' 'London' 'Furniture' 1 750.00
'2019-03-02' 'Moscow' 'Furniture' 2 1250.50
'2019-03-03' 'Moscow' 'Office Supplies' 4 85.00
'2019-03-01' 'San Francisco' 'Office Supplies' 23 723.00
'2019-03-01' 'San Francisco' 'Furniture' 1 1000.00
'2019-03-03' 'San Francisco' 'Furniture' 4 4000.00
'2019-03-02' 'Detroit' 'Furniture' 5 3700.00
'2019-03-04' 'Detroit' 'Office Supplies' 25 1200.00
'2019-03-04' 'Detroit' 'Furniture' 2 3500.00

Группировка по [City], [Category].

Сортировка по [City], [Category].

Формулы:

  • City: [City] ;
  • Category: [Category] ;
  • Order Sum: SUM([Orders]) ;
  • LAG TOTAL: LAG(SUM([Orders]) TOTAL) ;
  • LAG WITHIN: LAG(SUM([Orders]) WITHIN [City]) ;
  • LAG AMONG: LAG(SUM([Orders]) AMONG [City]) .

Результат

City Category Order Sum LAG TOTAL LAG WITHIN LAG AMONG
'Detroit' 'Furniture' 7 NULL NULL NULL
'Detroit' 'Office Supplies' 25 7 7 NULL
'London' 'Furniture' 1 25 NULL 7
'London' 'Office Supplies' 10 1 1 25
'Moscow' 'Furniture' 2 10 NULL 1
'Moscow' 'Office Supplies' 4 2 2 10
'San Francisco' 'Furniture' 5 4 NULL 2
'San Francisco' 'Office Supplies' 23 5 5 4
Пример опциональным аргументом

Исходные данные

Date City Category Orders Profit
'2019-03-01' 'London' 'Office Supplies' 8 120.80
'2019-03-04' 'London' 'Office Supplies' 2 100.00
'2019-03-05' 'London' 'Furniture' 1 750.00
'2019-03-02' 'Moscow' 'Furniture' 2 1250.50
'2019-03-03' 'Moscow' 'Office Supplies' 4 85.00
'2019-03-01' 'San Francisco' 'Office Supplies' 23 723.00
'2019-03-01' 'San Francisco' 'Furniture' 1 1000.00
'2019-03-03' 'San Francisco' 'Furniture' 4 4000.00
'2019-03-02' 'Detroit' 'Furniture' 5 3700.00
'2019-03-04' 'Detroit' 'Office Supplies' 25 1200.00
'2019-03-04' 'Detroit' 'Furniture' 2 3500.00

Группировка по [City].

Сортировка по [City].

Формулы:

  • City: [City] ;
  • Order Sum: SUM([Orders]) ;
  • LAG 1: LAG(SUM([Orders]), 1) ;
  • LAG 2: LAG(SUM([Orders]), -2) .

Результат

City Order Sum LAG 1 LAG 2
'Detroit' 32 NULL 6
'London' 11 32 28
'Moscow' 6 11 NULL
'San Francisco' 28 6 NULL
Пример с ORDER BY

Исходные данные

Date City Category Orders Profit
'2019-03-01' 'London' 'Office Supplies' 8 120.80
'2019-03-04' 'London' 'Office Supplies' 2 100.00
'2019-03-05' 'London' 'Furniture' 1 750.00
'2019-03-02' 'Moscow' 'Furniture' 2 1250.50
'2019-03-03' 'Moscow' 'Office Supplies' 4 85.00
'2019-03-01' 'San Francisco' 'Office Supplies' 23 723.00
'2019-03-01' 'San Francisco' 'Furniture' 1 1000.00
'2019-03-03' 'San Francisco' 'Furniture' 4 4000.00
'2019-03-02' 'Detroit' 'Furniture' 5 3700.00
'2019-03-04' 'Detroit' 'Office Supplies' 25 1200.00
'2019-03-04' 'Detroit' 'Furniture' 2 3500.00

Группировка по [City].

Сортировка по [City].

Формулы:

  • City: [City] ;
  • Order Sum: SUM([Orders]) ;
  • LAG ORDER BY City: LAG(SUM([Orders]) ORDER BY [City] DESC) ;
  • LAG ORDER BY Order Sum: LAG(SUM([Orders]) ORDER BY [Order Sum]) .

Результат

City Order Sum LAG ORDER BY City LAG ORDER BY Order Sum
'Detroit' 32 11 28
'London' 11 6 6
'Moscow' 6 28 NULL
'San Francisco' 28 NULL 11

Поддержка источников данныхПоддержка источников данных

ClickHouse 21.8, Файлы, Google Sheets, Microsoft SQL Server 2017 (14.0), MySQL 5.7, Oracle Database 12c (12.1), PostgreSQL 9.3, Яндекс Документы.

Была ли статья полезна?

Предыдущая
FIRST
Следующая
LAST
Проект Яндекса
© 2025 ООО «Яндекс.Облако»