Thread: нарастающие итоги

нарастающие итоги

From
Alexander Kuprijanov
Date:

Добрый День


Посткажите, плз, нет ли в Postgres изящных решений для работы с "Нарастающими итогами"


Пример для пояснения:


есть табличка:


id | value

----------

1 | 0.1

2 | 0.2

3 | 0.3

4 | 0.4

5 | 0.5

6 | 0.6


требуется запрос, возвращающий следующие данные:


id | value | rising_sum

-----------------------

1 | 0.1 | 0.1

2 | 0.2 | 0.3

3 | 0.3 | 0.6

4 | 0.4 | 1.0

5 | 0.5 | 1.5

6 | 0.6 | 2.1


Объемы данных: десятки-сотни тысяч строк


на sql.ru есть 2 решения http://www.sql.ru/Forum/actualthread.aspx?bid=7&tid=595610&hl=


но может кто знает еще варианты, заточенные под сабж?


заранее благодарен...


ЗЫ: как правильно назвать то, что я называю "нарастающие итоги" и как это звужит по английски? если кто знает, отзовитесь, плз...

Re: [pgsql-ru-general] нарастающие итоги

From
Volodymyr Kotulskyi
Date:
http://www.postgresql.org/docs/9.0/interactive/tutorial-window.html

Вообще про оконные функции (в Oracle их называют аналитическими)
хорошо написано во втором томе "Oracle для профессионалов" у Тома
Кайта. Функционал аналитических функций у Oracle и PostgreSQL весьма
схож, так что могу рекомендовать для прочтения данный раздел.

17 февраля 2011 г. 16:01 пользователь Alexander Kuprijanov
<sanya-spb@list.ru> написал:
> Добрый День
>
> Посткажите, плз, нет ли в Postgres изящных решений для работы с
> "Нарастающими итогами"
>
> ЗЫ: как правильно назвать то, что я называю "нарастающие итоги" и как это
> звужит по английски? если кто знает, отзовитесь, плз...

--
С уважением, Владимир.

Re: нарастающие итоги

From
Oleg Bartunov
Date:
По английски это называется 'running totals',
посмотрите изящное решение для 8.4+

http://www.postgresonline.com/journal/index.php?/archives/119-Running-totals-and-sums-using-PostgreSQL-8.4-Windowing-function.html

Олег

On Thu, 17 Feb 2011, Alexander Kuprijanov wrote:

> Добрый День
>
> Посткажите, плз, нет ли в Postgres изящных решений для работы с "Нарастающими
> итогами"
>
> Пример для пояснения:
>
> есть табличка:
>
> id | value
> ----------
> 1 | 0.1
> 2 | 0.2
> 3 | 0.3
> 4 | 0.4
> 5 | 0.5
> 6 | 0.6
>
> требуется запрос, возвращающий следующие данные:
>
> id | value | rising_sum
> -----------------------
> 1 |   0.1 | 0.1
> 2 |   0.2 | 0.3
> 3 |   0.3 | 0.6
> 4 |   0.4 | 1.0
> 5 |   0.5 | 1.5
> 6 |   0.6 | 2.1
>
> Объемы данных: десятки-сотни тысяч строк
>
> на sql.ru есть 2 решения
> http://www.sql.ru/Forum/actualthread.aspx?bid=7&tid=595610&hl=
>
> но может кто знает еще варианты, заточенные под сабж?
>
> заранее благодарен...
>
> ЗЫ: как правильно назвать то, что я называю "нарастающие итоги" и как это
> звужит по английски? если кто знает, отзовитесь, плз...
>

     Regards,
         Oleg
_____________________________________________________________
Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru),
Sternberg Astronomical Institute, Moscow University, Russia
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(495)939-16-83, +007(495)939-23-83