powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с запросом "нарастающий итог до определенного значения".
8 сообщений из 8, страница 1 из 1
Помогите пожалуйста с запросом "нарастающий итог до определенного значения".
    #39474271
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер, подскажите пожалуйста, каким образом можно получить из таблицы "First"
idqty120217321430

в аналогичную по структуре таблицу с записями с нарастающим итогом =40, при этом, если последняя запись не укладывается в эти 40, то эта последняя запись должна уменьшиться до числа, позволяющего вывести данные с условием нарастающий итог = 40.

В итоге должна получиться такая таблица:
idqty12021733
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом "нарастающий итог до определенного значения".
    #39474282
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Истина где-то рядом,

sum
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом "нарастающий итог до определенного значения".
    #39474296
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
with t1(id, qty) as (
    values
    (1, 20),
    (2, 17),
    (3, 21),
    (4, 30)
)
, t2 as (
    select id, qty, sum(qty) over(order by id) as sum_qty from t1
)
, t3 as (
    select *, coalesce(lag(sum_qty) over(order by id), 0) as lag_sum_qty from t2
)
, t4 as (
    select * from t3 where lag_sum_qty < 40
)
select id, case when sum_qty < 40 then qty else 40 - lag_sum_qty end as qty from t4;
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом "нарастающий итог до определенного значения".
    #39474305
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeXa NalBatlagsum_qty - qty
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом "нарастающий итог до определенного значения".
    #39474533
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем большое спасибо! Не смог сразу ответить, потому что живу в восточной части России... письма долго доходят. Это способ я понял, а как сделать что-то вроде функции с условием в блоке Do...Loop, чтобы построчно происходило считывание, потому что в таблицах по несколько миллионов строк, тормоза будут нереальные (мне так кажется).
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом "нарастающий итог до определенного значения".
    #39474543
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeXa NalBat,

Огромное человеческое спасибо.
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом "нарастающий итог до определенного значения".
    #39474850
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Истина где-то рядомВсем большое спасибо! Не смог сразу ответить, потому что живу в восточной части России... письма долго доходят. Это способ я понял, а как сделать что-то вроде функции с условием в блоке Do...Loop, чтобы построчно происходило считывание, потому что в таблицах по несколько миллионов строк, тормоза будут нереальные (мне так кажется).То есть не требуется читать все миллионы строк из таблицы, а для получения результата запроса достаточно прочитать несколько первых строк до превышения и остановиться? Да, можно сделать на PL/pgSQL или иерархическим SQL запросом.
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом "нарастающий итог до определенного значения".
    #39474904
Истина где-то рядом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeXa NalBat,
я наверно с утра не проснулся и написал бред.

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


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