|
|
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
Как можно эмулировать собственные агрегатные функции? Например среднее геометрическое. С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 17:24 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
Naf, эмулировать где и что значит эмулировать? В оракле можно писать пользовательские агрегатные функции без всякой эмуляции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 17:36 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
explaNaf, эмулировать где и что значит эмулировать? В оракле можно писать пользовательские агрегатные функции без всякой эмуляции. Покажи пример, просто не знаком с Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 17:37 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
NafКак можно эмулировать собственные агрегатные функции? Например среднее геометрическое. С уважением, Naf1) В Oracle есть возможность написать свою агрегатную функцию и использовать ее. Пример есть на форуме (от А Бегуна) 2) Если нужно что-то доморощенное, то можно передавать в функцию массив/курсор/текст запроса, по которому функция будет считатьзначение и выдавать. Далее эту функцию использовать в групповых запросах. Не очень эффективно, но зато будет работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 17:39 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
BelyNafКак можно эмулировать собственные агрегатные функции? Например среднее геометрическое. С уважением, Naf1) В Oracle есть возможность написать свою агрегатную функцию и использовать ее. Пример есть на форуме (от А Бегуна) 2) Если нужно что-то доморощенное, то можно передавать в функцию массив/курсор/текст запроса, по которому функция будет считатьзначение и выдавать. Далее эту функцию использовать в групповых запросах. Не очень эффективно, но зато будет работать.что-то найти не могу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 17:47 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
Naf wrote at 28.01.2009 17:47: > что-то найти не могу http://www.oracle.com/global/ru/oramag/augsept2002/dev_udag.html Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 17:50 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
Denis Popov Naf wrote at 28.01.2009 17:47: > что-то найти не могу http://www.oracle.com/global/ru/oramag/augsept2002/dev_udag.html спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 17:58 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
NafexplaNaf, эмулировать где и что значит эмулировать? В оракле можно писать пользовательские агрегатные функции без всякой эмуляции. Покажи пример, просто не знаком с Oracle Примеры не очень простые, в документаци есть. Суть в том, что нужно описать объектный тип и подключить его к СУБД как агрегатную функцию. В процессе выполнения запроса оракл создаёт объект и вызывает метод его инициализации, затем для каждой записи метод агрегации и наконец метод завершения. Метод агрегации в атрибутах объекта сохраняет значения необходимые для вычисления результата (например, количество вызовов, сумму или произведение знечений и т.п.). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 18:00 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
а в "стандартном" SQL. Некоем общем "множестве", поддерживываемым большинством СУБД С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 18:02 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
Nafа в "стандартном" SQL. Некоем общем "множестве", поддерживываемым большинством СУБД С уважением, Naf Иногда нестандартные агрегатные функции можно построить из комбинации стандартных функций. Если нет, считаем агрегаты на клиенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 18:06 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
Nafа в "стандартном" SQL. Некоем общем "множестве", поддерживываемым большинством СУБДВ MS SQL 2005 и выше тоже вроде как можно. Informix, если правильно помню, тоже. Думаю, практически у всех известных игроков на рынке СУБД есть свой камень за пазухой. Только появлялись они "стихийно", поэтому в стандартах, даже последних, такой возможности может не быть. Или если уже есть(лень копаться), то вряд ли те самые игроки последуют за ним в ближайшее время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 18:10 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
ChA, видимо разница только в том, как описать пользовательскую функцию, но стандарт SQL на этом и не заморачивается и скорее всего и не будет заморачиваться. Что касается использования, то в оракле вызов пользовательской агрегатной функции синтаксически ни чем не отличается от вызова встроенной агрегатной функции, только имя функции другое - не зарезервированное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 18:16 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
Сколько я понимаю, для описание такой функции необходимо использовать функц. программирование и/или рекурсию С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 18:28 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
> Автор: Naf > Сколько я понимаю, для описание такой функции необходимо использовать > функц. программирование и/или рекурсию > С уважением, Naf > В общем случае необходим курсор по упорядоченному набору. Дайте пример, чтобы было конкретнее. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 20:48 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
Senya_L > Автор: Naf > Сколько я понимаю, для описание такой функции необходимо использовать > функц. программирование и/или рекурсию > С уважением, Naf > В общем случае необходим курсор по упорядоченному набору. Дайте пример, чтобы было конкретнее. я дал в первом посте: среднее геометрическое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 22:05 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
Nafя дал в первом посте: среднее геометрическоеСкрипт для Firebird прилагается. Хотя, честно говоря, проблема элементарная и непонятно какие тут проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2009, 22:57 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
В postgreSQL можно: CREATE AGGREGATE . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 10:04 |
|
||
|
Расширение агрегатных функций
|
|||
|---|---|---|---|
|
#18+
Nafсреднее геометрическое -- тоже аддитивный порядконезависимый агрегат, поэтому особых сложностей с его вычислением через примитивные агрегаты sum/avg нет: ср_геом({ai}) = log^-1( (log(a1)+...+log(an)) / n ) Гораздо хуже придется, если убрать одно из свойств. :) Но такая ситуация, вообще говоря, выходит за рамки идеологии реляционной БД, оперирующей неупорядоченными множествами очень простых элементов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2009, 17:08 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=93&tid=1543461]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
77ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 419ms |

| 0 / 0 |
