От отговор на http://forums.oracle.com/forums/thread .jspa?messageID=1791550 това може да работи, но нямате 10 g, за да тествате...
SELECT MIN(permutations)
FROM (SELECT REPLACE (SYS_CONNECT_BY_PATH (n, ','), ',') permutations
FROM (SELECT LEVEL l, SUBSTR ('&col', LEVEL, 1) n
FROM DUAL
CONNECT BY LEVEL <= LENGTH ('&col')) yourtable
CONNECT BY NOCYCLE l != PRIOR l)
WHERE LENGTH (permutations) = LENGTH ('&col')
В примера col
е дефинирана в SQL*Plus, но ако направите това функция, можете да я предадете или да я преработите, за да вземе директно колона от таблица, предполагам.
Бих приел това по-скоро като отправна точка, отколкото като решение; първоначалният въпрос беше за анаграми, така че е проектиран да намира всички пермутации, така че нещо подобно, но опростено може да е възможно. Подозирам, че това не се мащабира много добре за големи стойности.