SQL 자체 결합을 사용하여 수학의 중복 조합을 표현
소개
SQL에 있어서, 자신은 별로 익숙하지 않은 자기 결합의 향후 도움이 될지도 모르는 테크닉을 소개해 갑니다.
실행 결과는 여기에서 확인할 수 있습니다.
자기 결합을 사용하여 중복 조합을 만듭니다.
중복 조합의 개념은 아래를 참조하십시오.
Schema (MySQL v5.7)
무언가의 일람이라고 생각해 주세요.
CREATE TABLE members (
id INT NOT NULL PRIMARY KEY auto_increment,
name TEXT
);
INSERT INTO members VALUES
(1, 'tanaka'),
(2, 'okada'),
(3, 'hiranuma');
이 멤버의 중복 조합을 생각해 봅시다.
이번 사례를 계산하면
_{3}H_{2} = _{4}C_{2} \\
= \frac{4\times3}{2\times1} \\
= 6 \\
6가지의 조합을 생각할 수 있습니다.
Query
SELECT
M1.name AS name_1,
M2.name AS name_2
FROM members M1
INNER JOIN members M2 ON M2.name <= M1.name
문자 코드 순으로 정렬하여 자신(M1)과 동등하거나 그보다 앞에 오는 멤버가 쌍이 됩니다.
Results
name_1
name_2
타나카
타나카
타나카
오카다
오카다
오카다
타나카
히라누마
오카다
히라누마
히라누마
히라누마
중복이 있음을 알 수 있습니다.
조합이므로 순서를 바꾼 쌍은 동일하다고 간주합니다.
참조
59p
출력 100개 노크 실시 중
Reference
이 문제에 관하여(SQL 자체 결합을 사용하여 수학의 중복 조합을 표현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryosuketter/items/7ca38ed8e6834c2e3b8f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)