powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как получить разность с предыдущей строкой?
12 сообщений из 12, страница 1 из 1
как получить разность с предыдущей строкой?
    #39980275
К.К2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Есть поле в выборке
csum

как можно получить разность csum текущей строки и предыдущей для каждой строки выборки?
...
Рейтинг: 0 / 0
как получить разность с предыдущей строкой?
    #39980276
К.К2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Например
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT 1 id,  10 csum 
UNION ALL
SELECT 3 id,  15
UNION ALL
SELECT 4 id,  17
UNION ALL
SELECT 5 id,  19
UNION ALL
SELECT 7 id, 25
...
Рейтинг: 0 / 0
как получить разность с предыдущей строкой?
    #39980278
К.К2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
надо получить

1;10;0
3;15;5
4;17;2
5;19;2
7;25;6
...
Рейтинг: 0 / 0
как получить разность с предыдущей строкой?
    #39980360
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как получить разность с предыдущей строкой?
    #39980428
К.К2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость


Супер!

То что надо!

Спасибо!
...
Рейтинг: 0 / 0
как получить разность с предыдущей строкой?
    #39980697

а по ссылке то про lag() ни слова
тут есть
...
Рейтинг: 0 / 0
как получить разность с предыдущей строкой?
    #39980760
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза,

как же не слова там концепция рассказывается а в конце написано
More details about window functions can be found in Section 4.2.8, Section 9.21, Section 7.2.5, and the SELECT reference page.
куда и надо за доп инфой смотреть.
...
Рейтинг: 0 / 0
как получить разность с предыдущей строкой?
    #39980835
Maxim Boguk, ну в секции 9.21 есть целая одна строчка:
авторlag(value anyelement [, offset integer [, default anyelement ]]) same type as value returns value evaluated at the row that is offset rows before the current row within the partition; if there is no such row, instead return default (which must be of the same type as value). Both offset and default are evaluated with respect to the current row. If omitted, offset defaults to 1 and default to null
и всё.
...
Рейтинг: 0 / 0
как получить разность с предыдущей строкой?
    #39980906
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
Maxim Boguk, ну в секции 9.21 есть целая одна строчка:
авторlag(value anyelement [, offset integer [, default anyelement ]]) same type as value returns value evaluated at the row that is offset rows before the current row within the partition; if there is no such row, instead return default (which must be of the same type as value). Both offset and default are evaluated with respect to the current row. If omitted, offset defaults to 1 and default to null

и всё.

А что вам еще то надо?
Документация это не учебник по основам sql.
...
Рейтинг: 0 / 0
как получить разность с предыдущей строкой?
    #39980920
а мне основы и не надо
примеры надо
вот и вот
фигасе "основы"
...
Рейтинг: 0 / 0
как получить разность с предыдущей строкой?
    #39980925
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
а мне основы и не надо
примеры надо
вот и вот
фигасе "основы"


если вы знаете как window functions в общем случае работают
вам примеры для конкретно каждой из них не нужны.
Если не знаете - надо не примеры для lag смотреть а изучать как они в общем работают.
...
Рейтинг: 0 / 0
как получить разность с предыдущей строкой?
    #39981109
нужно, обязательно нужно
только вот из тех ссылок непонятно, как данную задачу решать (через lag())
а из моих понятно
вот ещё (про то как они "в общем работают")
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как получить разность с предыдущей строкой?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]