ФУНКЦИИ LEAD() И LAG() В POSTGRESQL
Функции LEAD() и LAG() возвращают значения из следующей строки и предыдущей строки в таблице соответственно. Эти функции позволяют получить доступ к данным из следующей строки без использования SELF JOIN. Функции LEAD и LAG вместе с PARTITION BY получают следующую и предыдущую строки группы внутри таблицы.
Функция LEAD() в Postgresql: Функция LEAD() возвращает значения из следующей строки в таблице
Функция LAG() в Postgresql: функция LAG() возвращает значения из предыдущей строки в таблице
Таблица BASKET , которую мы используем для изображения, показана ниже .
LEAD() в postgresql:
LEAD в postresql возвращает следующую строку в таблице
SELECT *,LEAD (price,1) OVER (ORDER BY price) AS next_price
FROM basket;
Итак, результирующая таблица
LEAD с PARTITION BY:
LEAD с PARTITION BY в postresql возвращает следующую строку в группе
SELECT *,LEAD (price,1) OVER (PARTITION BY ITEM_GROUP ORDER BY price) AS groups_next_price
FROM basket;
LAG() в postgresql:
LAG в postresql возвращает предыдущую строку в таблице
SELECT *,LAG (price,1) OVER (ORDER BY price) AS previous_price
FROM basket;
Итак, результирующая таблица
LAG с PARTITION BY:
LAG с PARTITION BY в postresql возвращает предыдущую строку в группе
SELECT *,LAG (price,1) OVER (PARTITION BY ITEM_GROUP ORDER BY price) AS
groups_previous_price FROM basket;
Таким образом, результирующая таблица будет
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.