n 필드의 고유 조합을 쿼리하는 Oracle의 간단한 방법이 있습니까? 1,2와 2,1가 동일하게 간주되는이 쿼리에서SQL 및 고유 한 n-coulmn 조합
SELECT LEAST(x.a, x.b),
GREATEST(x.a,x.b)
FROM (SELECT c1.n a,
c2.n b
FROM combinations c1
CROSS JOIN combinations c2
WHERE c1.n <> c2.n) x
GROUP BY LEAST(x.a, x.b), GREATEST(x.a,x.b);
:
CREATE TABLE combinations AS
SELECT 1 AS n
FROM DUAL
UNION ALL
SELECT 2
FROM DUAL;
독특한 조합에 대한 조회 : 나는 매우 간단한 2 필드 솔루션을. 불행하게도 3 필드 구조에서는 작동하지 않습니다 (예 : 1,2,3은 값의 순서가 중요하지 않으므로 3,1,2와 동일하게 간주되어야합니다). 오라클 분석 기능이이 질문에 적절한 솔루션을 제공합니까? 특정 오라클 분석 기능을 제안 해 주시겠습니까?
'<>'대신'<'를 사용하여 가입 할 필요가 없습니까? –