Агрегат Oracle для объединения строк с запятой и написания пользовательских агрегатов - PullRequest
1 голос
/ 25 марта 2011

Как я могу создать функцию в Oracle, такую ​​как sum, min, max?

он будет работать на наборе результатов.

Select join(',', Name), sum(total) From Account Group By IdCity

Ответы [ 3 ]

5 голосов
/ 25 марта 2011

Вот ссылка на документацию, которая описывает, как вы можете создавать свои собственные агрегатные функции: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10765/aggr_functions.htm

С уважением,
Роб.

3 голосов
/ 25 марта 2011

Используйте wmsys.wm_concat, если версия Oracle 10 или более.

Вы также можете выполнить поиск по созданию агрегатных функций в Oracle.

Обратите внимание, что SQLite имеет встроенный агрегат group_concat, если, возможно, он вас заинтересовал.

2 голосов
/ 25 марта 2011

Проверьте функцию listagg . Это решение вашей проблемы (хотя оно не описывает, как создать собственную агрегатную функцию).

...