Хитро просуммировать значения столбца (oracle)

SQL во всех проявлениях - от ANSI-92 до TSQL.

Модераторы: Yurich, Absurd

Ответить
Taly
Сообщения: 2
Зарегистрирован: 01 окт 2009, 12:53

01 окт 2009, 13:25

Есть выборка данных типа:
tc | N |
161 | 1 |
161 | 2 |
201 | 3 |
204 | 4 |

Надо добавить третий столбец, в котором будет такая сумма:
Для первой записи остается значение 161
Для второй записи суммируются значения 1 и 2 (161+161)
Для третьей записи суммируются значения 1, 2 и 3 (161+161+201)
и т.д.
Максимальная длина таких выборок неизвестна.

Есть предположение, что неплохо бы использовать Lag, но как-то не получается динамический пересчет осуществлять. Помогите, плиз!!!
Taly
Сообщения: 2
Зарегистрирован: 01 окт 2009, 12:53

06 окт 2009, 11:15

Решение данной задачи нашлось достаточно быстро.
Тем, кто хочет знать, как это делается, но не нашел, пишу смысл решения:
sum(tc) over (partition by pole_name1 order by pole_name2 rows between unbounded preceding and current row)
Art666
Сообщения: 4
Зарегистрирован: 19 мар 2010, 14:32

19 мар 2010, 14:35

Вот тут прочитай про Oracle http://mytrouble.ru/category/oracle
Ответить