|
|
|
Произведение нарастающим итогом
|
|||
|---|---|---|---|
|
#18+
Добрый день. Подскажите, пожалуйста, как можно создать столбец с произведением предыдущих чисел из соседнего столбца внутри своего ID. Условно говоря, есть таблица из 3 столбцов ID, Period, Value и нужно добавить 4-й столбец New: ID Period Value New1 1 2 21 2 3 61 3 4 241 4 5 1202 1 3 32 2 5 152 3 8 1202 4 9 1080 И в общем случае вопрос. Возможно ли заполнять столбец ссылаясь на предыдущее значение в этом же столбце? (то есть чтобы столбец New считался не на основе текущего и всех предыдущих значений в столбце Value, а на основе одного значения в столбце Value и одного предыдущего значения в столбце New). Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2018, 18:23 |
|
||
|
Произведение нарастающим итогом
|
|||
|---|---|---|---|
|
#18+
Классический вариант не? Код: 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. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2018, 18:28 |
|
||
|
Произведение нарастающим итогом
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, спасибо. Как-то не подумал про логарифм.. ) А при таком вычисление скажем на 1 млн строк без учета partition by (то есть если будет 1 млн разных значений, по которым будет делаться order by) СУБД будет учитывать расчет для предыдущей строчки? Или для строки 999 999 будет считаться произведение 999 999 значений, а для строки 1 000 000 будет заново считаться произведение 1 млн значений соответственно? (вопрос про быстродействие) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2018, 19:03 |
|
||
|
Произведение нарастающим итогом
|
|||
|---|---|---|---|
|
#18+
Roomon(вопрос про быстродействие)explain plan ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2018, 19:52 |
|
||
|
Произведение нарастающим итогом
|
|||
|---|---|---|---|
|
#18+
Roomonа для строки 1 000 000 будет заново считаться произведение 1 млн значений соответственно? (вопрос про быстродействие)Не волнуйся, до этой строки не дойдёт. Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2018, 07:38 |
|
||
|
|

start [/forum/topic.php?fid=52&gotonew=1&tid=1884065]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
193ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 539ms |

| 0 / 0 |
