powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / запрос строк до определенной суммы
5 сообщений из 5, страница 1 из 1
запрос строк до определенной суммы
    #32185274
VikingSan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Подскажите как переделать запрос
select num_
from test
order by prior;
нужно выбрать первые Х строк с условием, что sum(num_) для этих строк больше какого-то числа (например 10).
Заранее спасибо.
...
Рейтинг: 0 / 0
запрос строк до определенной суммы
    #32185283
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
create table test (
    test_id number( 9 )
  , value number( 9 )
)
/
insert into test (test_id, value)
  select rownum, rownum from all_objects where rownum <  100 
/
commit;

select *
from (select test_id
           , value
           , sum(value) over (order by test_id range unbounded preceding) sum_value
      from test
   )
where sum_value <=  10 
/
...
Рейтинг: 0 / 0
запрос строк до определенной суммы
    #32185328
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибся, не RANGE, в ROWS
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select *
from (select test_id
           , value
           , sum(value)
               over (
                 order by test_id
                 rows between unbounded preceding and current row
               ) sum_value
      from test
   )
where sum_value <=  10 
...
Рейтинг: 0 / 0
запрос строк до определенной суммы
    #32185391
VikingSan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
Единственная проблема - вытаскивается на одну строку меньше, чем хочется.
Хочется чтобы сумма превышала заданую.
...
Рейтинг: 0 / 0
запрос строк до определенной суммы
    #32185399
VikingSan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо еще раз.
Сам докумекал до такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select *
from (select test_id
           , value
           , sum(value)
               over (
                 order by test_id
                 rows between unbounded preceding and current row
               ) sum_value
      from test
   )
where sum_value - value <=  10 
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / запрос строк до определенной суммы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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