Thread: нарастающие итоги
Добрый День
Посткажите, плз, нет ли в 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=
но может кто знает еще варианты, заточенные под сабж?
заранее благодарен...
ЗЫ: как правильно назвать то, что я называю "нарастающие итоги" и как это звужит по английски? если кто знает, отзовитесь, плз...
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 изящных решений для работы с > "Нарастающими итогами" > > ЗЫ: как правильно назвать то, что я называю "нарастающие итоги" и как это > звужит по английски? если кто знает, отзовитесь, плз... -- С уважением, Владимир.
По английски это называется '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