
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.01.2017, 19:11
|
|||
|---|---|---|---|
Выборка верхних строк с определенной суммой столбца |
|||
|
#18+
Есть таблица Id Quantity1 502 1003 504 205 606 207 100 где Id 1 - самая новая запись, Id 7 - старая. Нужно выбрать верхние строки с общей суммой столбца "Quantity" не менее 250, то есть ожидаемый результат: Id Quantity1 502 1003 504 205 60 Сам пока дошел только до такого: Код: sql 1. 2. 3. 4. 5. 6. В результате получаю меньше, чем нужно, на 1 строку: Id Quantity1 502 1003 504 20 Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2017, 19:25
|
|||
|---|---|---|---|
|
|||
Выборка верхних строк с определенной суммой столбца |
|||
|
#18+
Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.01.2017, 21:30
|
|||
|---|---|---|---|
Выборка верхних строк с определенной суммой столбца |
|||
|
#18+
Bad The John Boy Код: plsql 1. Ну и про NULL не забываем. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2017, 15:47
|
|||
|---|---|---|---|
Выборка верхних строк с определенной суммой столбца |
|||
|
#18+
Bad The John Boy, Спасибо, то, что нужно. Но исходная задача немного изменилась. Допустим, в исходном сферическом примере Id могут повторяться: Id Quantity1 501 1002 503 203 603 204 1004 105 50 В конечной выборке нужны все строки с тем Id, когда сумма Quantity становится 250+, то есть: Id Quantity1 501 1002 503 203 603 20 Логично, что нужно просто в Код: plsql 1. использовать range вместо rows, но с range не допускается использовать выражения типа "and 1 preceding". Как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2017, 16:19
|
|||
|---|---|---|---|
Выборка верхних строк с определенной суммой столбца |
|||
|
#18+
Lynxovatс range не допускается использовать выражения типа "and 1 preceding"субд не попутал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2017, 16:41
|
|||
|---|---|---|---|
Выборка верхних строк с определенной суммой столбца |
|||
|
#18+
-2-Lynxovatс range не допускается использовать выражения типа "and 1 preceding"субд не попутал? Да вроде нет: Oracle Database 11g Release 11.2.0.3.0 - 64bit Production Так то, в принципе он не ругается, но и не работает, как ожидается - не добавляет весь range, хотя с rows всё прокатывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2017, 17:05
|
|||
|---|---|---|---|
Выборка верхних строк с определенной суммой столбца |
|||
|
#18+
LynxovatТак то, в принципе он не ругается, но и не работает, как ожидается - не добавляет весь range, хотя с rows всё прокатывает. Все он показывает: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2017, 17:21
|
|||
|---|---|---|---|
Выборка верхних строк с определенной суммой столбца |
|||
|
#18+
SY, Спасибо! Внимательно посмотрел ваш пример и добавил Код: sql 1. Всё заработало. Видимо, это и имелось ввиду под "Ну и про NULL не забываем." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2017, 17:46
|
|||
|---|---|---|---|
Выборка верхних строк с определенной суммой столбца |
|||
|
#18+
LynxovatВсё заработало. Видимо, это и имелось ввиду под "Ну и про NULL не забываем." Т.е. ты хочешь сказать что с ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING бeз NVL pаботало ? Помедитируй что вернет пeрвый ROW/RANGE при 1 PRECEDING. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.01.2017, 17:58
|
|||
|---|---|---|---|
Выборка верхних строк с определенной суммой столбца |
|||
|
#18+
SYLynxovatВсё заработало. Видимо, это и имелось ввиду под "Ну и про NULL не забываем." Т.е. ты хочешь сказать что с ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING бeз NVL pаботало ? Помедитируй что вернет пeрвый ROW/RANGE при 1 PRECEDING. SY. Хм, без nvl теряет первый row/range, всё остальное исправно выводит. Да, сложно назвать это "работало". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1886641]: |
0ms |
get settings: |
4ms |
get forum list: |
18ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
174ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 435ms |

| 0 / 0 |
