Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как получить разность с предыдущей строкой? / 12 сообщений из 12, страница 1 из 1
16.07.2020, 10:18
    #39980275
К.К2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как получить разность с предыдущей строкой?
Добрый день.

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

как можно получить разность csum текущей строки и предыдущей для каждой строки выборки?
...
Рейтинг: 0 / 0
16.07.2020, 10:20
    #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
16.07.2020, 10:21
    #39980278
К.К2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как получить разность с предыдущей строкой?
надо получить

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


Супер!

То что надо!

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

а по ссылке то про lag() ни слова
тут есть
...
Рейтинг: 0 / 0
17.07.2020, 09:15
    #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
17.07.2020, 11:28
    #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
17.07.2020, 13:26
    #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
17.07.2020, 13:44
    #39980920
как получить разность с предыдущей строкой?
а мне основы и не надо
примеры надо
вот и вот
фигасе "основы"
...
Рейтинг: 0 / 0
17.07.2020, 13:54
    #39980925
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как получить разность с предыдущей строкой?
Алексей Роза
а мне основы и не надо
примеры надо
вот и вот
фигасе "основы"


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


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