Oracle собирает аналитическую функцию

Можно ли использовать команду 10g collect в качестве аналитической функции с помощью OVER PARTITION или каким-либо другим способом?

например

SELECT COLLECT(x) OVER (PARTITION BY y)
FROM table

Каждый раз, когда я пытаюсь это сделать, возникает исключение ora 3113, говорящее "конец файла на канале связи".

PS. Я знаю, что мне нужно привести результат, чтобы он был полезен, но ради простоты я оставлю его пока

1 ответ

Решение

COLLECT не является аналитической функцией, но может использоваться как групповая функция.

SELECT y, COLLECT(x) FROM table GROUP BY y

(Интересно, однако: COLLECT не указан как аналитическая функция, но если я попытаюсь использовать его таким образом, как в вашем примере, он сначала работает, затем останавливается после вывода некоторых результатов и выдает ORA-03113 как сказал.)

Другие вопросы по тегам